2016-05-22 10 views
0

を呼び出したときの断片にNULLポインタを引き起こしcompatのスイッチであることは、XMLここではなく、説明タイトル onCheckedChange

 <android.support.v7.widget.SwitchCompat 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/mySwitch" 
     app:showText="false" 
     android:textOn="On" 
     android:textOff="Off" 
     android:layout_marginLeft="@dimen/activity_horizontal_margin" 
     android:layout_marginRight="@dimen/activity_horizontal_margin" /> 

、ここではイム私のフラグメントに

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout.intro_frag, container, false); 
    getPrefs = PreferenceManager.getDefaultSharedPreferences(getActivity()); 
    switchCompat = (SwitchCompat) getActivity().findViewById(R.id.mySwitch); 

    return rootView; 

} 

@Override 
public void onActivityCreated(final Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 
    switchCompat.setOnCheckedChangeListener(new 
    CompoundButton.OnCheckedChangeListener() { 
     @Override 
     public void onCheckedChanged(CompoundButton buttonView, boolean 
     isChecked) { 
      if (isChecked) { 
       //do stuff 
      } 
      else if (!isChecked){ 
       //do other stuff 
      } 
     } 
    }); 

やって何の主であるされている理由switchCompat.setOnCheckedChangeListenerは、すべてがうまく動かないままnullポインタ例外を引き起こしています。iveを検索して、テキストや要素を必要とするスイッチのようないくつかの修正を見つけましたが、この作業を誰も助けてくれませんか?

+0

あなたはすなわち、findViewById()が実際にスイッチを見つけたことを確認しなかったあなたはswitchCompatがNULLでないことを確認していますか? – nPn

+0

いいえ、同じレイアウトになっています。設定変更リスナーを呼び出さないと、私はスイッチで遊ぶことができます。(mySwitch!= Null)@nPn –

答えて

0

あなたの過ちは、次のとおりです。

getActivity() 

変更するには:

switchCompat = (SwitchCompat) rootView.findViewById(R.id.mySwitch); 
+0

"mySwitch"の項目は内部ですrootView、活動しないでください! :D バイバイNullPointerException – Lucas

+0

天才あなたは私がそれを見ることができなかったと信じられない –

関連する問題