2012-04-26 14 views
2

アンドロイドメニューに設定オプションが追加されました。それはエミュレータでテスト中にうまく動作します。しかし、私はデバイスにしようとすると変わらない..何が問題なのか分かりますか? androidmanifest.xmlファイルで何かを変更する必要がありますか?あなたの携帯電話のAPIレベルは、あなたがに設定されたアプリケーションを持っているもの、その後低下した場合、私はちょうど見ていたアンドロイドメニュー設定カスタマイズ

@Override 
public boolean onCreateOptionsMenu(Menu menu) 
{ 
    menu.add(1,1,0,"Settings").setIcon(R.drawable.ic_tab_settings_grey); 
    setMenuBackground(); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) 
{ 
    switch(item.getItemId()) 
    { 
    case 1: 
     Intent in = new Intent(TransactionSummaryActivity.this, WelcomePage.class); 
     startActivity(in); 
     finish(); 
     return true; 

    default: 
     return true; 
    } 

} 
protected void setMenuBackground(){ 

      getLayoutInflater().setFactory(new Factory() { 
      @Override 
      public View onCreateView(String name, Context context, AttributeSet attrs) { 
       // TODO Auto-generated method stub 

       if (name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView")) { 

         try { // Ask our inflater to create the view 
          LayoutInflater f = getLayoutInflater(); 
          final View view = f.createView(name, null, attrs); 
          new Handler().post(new Runnable() { 
           public void run() { 
            view.setBackgroundResource(R.drawable.menu_selector); 
            // view.setBackgroundColor(Color.parseColor("#257CB5")); 

            ((TextView) view).setTextColor(Color.WHITE); 

           } 
          }); 
          return view; 
         } 
         catch (InflateException e) {} 
         catch (ClassNotFoundException e) {} 
        } 
       return null; 
      } 
      }); 
     } 
+0

あなたはどのapiレベルでアプリを実行していますか、お使いの携帯電話のAPIレベルを知っていますか? –

+0

アプリはAndroid 2.2と携帯電話2.3で動作しています...それは重要ですか? – sush

答えて

0

:以下
は私のコードです。私はそれがエミュレータで動作し、あなたのデバイスで動作しないと思う、私はそれがコーディングの問題とは思わない。

携帯端末でアプリのすべての痕跡を削除します。それを「アンインストール」します。それから、もう一度アプリを実行してみてください。うまくいくはずです。

関連する問題