0

フラグメントのonCreateOptionsMenuを使用してtextviewの値を変更することはできません。私はバッジを使用しているので、アクションバーのバッジの値に変更することができます。しかし、アプリクラッシュ!Android:フラグメントのonCreateOptionsMenu内でTextViewリファレンス(バッジ)を取得できません

これは私のコードです:

@Override 
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 

     inflater.inflate(R.menu.navigation_drawer, menu); 
     MenuItem item = menu.findItem(R.id.add); 
     RelativeLayout badgeLayout = (RelativeLayout) item.getActionView(); 
     mCounter = (TextView) badgeLayout.findViewById(R.id.counter); 
     mCounter.setText("2");// THIS PART MAKES THE CODE CRASH 
     super.onCreateOptionsMenu(menu, inflater); 
    } 

これは私がGETエラーです:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference 
                         at comb.example.shahid.carrottechapp.FragmentList.onCreateOptionsMenu(FragmentList.java:383) 

私はこの問題を解決する助けてください!

ます。public void onCreateOptionsMenu(メニューメニュー、MenuInflaterのインフレータ){

inflater.inflate(R.menu.navigation_drawer, menu); 
    MenuItem item = menu.findItem(R.id.add); 
    RelativeLayout badgeLayout = (RelativeLayout) MenuItemCompat.getActionView(item); 
    mCounter = (TextView) badgeLayout.findViewById(R.id.counter); 
    mCounter.setText("2"); 
    super.onCreateOptionsMenu(menu, inflater); 
} 
+0

いやそのない重複: –

答えて

0

は、このコードを使用して、それを解決しました。私は "mCounter"という名前のテキストビューのリファレンスを得ることができません。なぜなら、それはmenuItemによって膨らんでいるからです。
関連する問題