我在 android 菜单中添加了设置选项。在模拟器中测试时它工作正常。但是当我在设备中尝试时它不会改变..我能知道是什么问题吗?我需要更改 androidmanifest.xml 文件中的任何内容吗?
以下是我的代码:
@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;
}
});
}
最佳答案
我只是想看看您的手机 API 级别是否低于您为应用程序设置的级别。我相信如果它可以在模拟器上运行,但不能在您的设备上运行,我认为这不是编码问题。
删除手机上该应用程序的所有痕迹。 “卸载”它。然后尝试再次运行该应用程序,它应该可以运行。
关于java - android-菜单设置自定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10327542/