在最后 activity 中将主页按钮添加到操作栏
Add home button to action bar in the last activity
我想在最后 activity 的操作栏上添加主页图标,这样如果用户最后 activity,他只需单击最后 activity 上的自定义主页图标按钮=19=] 并导航到主要 activity.
我创建了一个新菜单
<item
android:id="@+id/homeico"
app:showAsAction="always"
android:icon="@drawable/homeicon"
android:title="@string/home_title" />
并在最后添加了下面的代码activity但是操作栏上没有图标,我哪里错了?
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
MenuInflater inflate = getMenuInflater();
inflate.inflate(R.menu.homemenu, menu);
return super.onCreateOptionsMenu(menu);
}
尝试更换
return super.onCreateOptionsMenu(menu);
来自
return true;
编辑:
为您的 activity
添加功能
public void restoreActionBar() {
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setTitle(mTitle);
}
并从 onCreateOptionsMenu 中调用它
- 您需要覆盖 onOptionItemSelected() 方法
- 获取主页按钮 ID
- 向您的第一个 Activity
发送 Intent
- 完成你的最后一个 Activity
如果您在 activity 中实现了操作栏,那么您应该可以通过设置
来看到主页图标
getActionBar().setHomeButtonEnabled(true);
然后您应该覆盖以下方法来捕获 "home" 单击事件。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
/**
* handle home button pressed
*/
if (id == android.R.id.home) {
//Start your main activity here
return true;
}
return super.onOptionsItemSelected(item);
}
在activity
的onCreateOptionsMenu(Menu menu)
函数中进行如下操作。
MenuItem item=menu.add("Title"); //your desired title here
item.setIcon(R.drawable.icon); //your desired icon here
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
item.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO Auto-generated method stub
return false;
}
});
}
我想在最后 activity 的操作栏上添加主页图标,这样如果用户最后 activity,他只需单击最后 activity 上的自定义主页图标按钮=19=] 并导航到主要 activity.
我创建了一个新菜单
<item
android:id="@+id/homeico"
app:showAsAction="always"
android:icon="@drawable/homeicon"
android:title="@string/home_title" />
并在最后添加了下面的代码activity但是操作栏上没有图标,我哪里错了?
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
MenuInflater inflate = getMenuInflater();
inflate.inflate(R.menu.homemenu, menu);
return super.onCreateOptionsMenu(menu);
}
尝试更换
return super.onCreateOptionsMenu(menu);
来自
return true;
编辑: 为您的 activity
添加功能public void restoreActionBar() {
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setTitle(mTitle);
}
并从 onCreateOptionsMenu 中调用它
- 您需要覆盖 onOptionItemSelected() 方法
- 获取主页按钮 ID
- 向您的第一个 Activity 发送 Intent
- 完成你的最后一个 Activity
如果您在 activity 中实现了操作栏,那么您应该可以通过设置
来看到主页图标getActionBar().setHomeButtonEnabled(true);
然后您应该覆盖以下方法来捕获 "home" 单击事件。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
/**
* handle home button pressed
*/
if (id == android.R.id.home) {
//Start your main activity here
return true;
}
return super.onOptionsItemSelected(item);
}
在activity
的onCreateOptionsMenu(Menu menu)
函数中进行如下操作。
MenuItem item=menu.add("Title"); //your desired title here
item.setIcon(R.drawable.icon); //your desired icon here
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
item.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO Auto-generated method stub
return false;
}
});
}