2012-04-26 68 views
2

我在android菜单中添加了设置选项。在仿真器中测试时它工作正常。但是当我尝试在设备中,它不会改变..我可以知道什么是问题?我需要更改androidmanifest.xml文件中的任何内容吗?
下面是我的代码:android-菜单设置定制

@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水平? – 2012-04-26 05:34:42

+0

在android 2.2和手机2.3上运行的应用程序..它有什么关系吗? – sush 2012-04-26 05:47:13

回答

0

我只是看到,如果你的手机API级别较低那么你必须设置的应用程序。我相信,如果它在模拟器上工作,但不适用于您的设备,我不认为这是一个编码问题。

删除手机上应用程序的所有痕迹。 “卸载”它。然后再次尝试运行该应用程序,它应该工作。