Android 如何在“活动”中显示“后退”按钮
我尝试使用此代码显示我的Android 如何在“活动”中显示“后退”按钮,android,android-activity,android-actionbar,Android,Android Activity,Android Actionbar,我尝试使用此代码显示我的档案活动: @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.action_profile) { Intent mainIntent = new Intent(Contracts.this, Profile.class);
档案活动
:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_profile) {
Intent mainIntent = new Intent(Contracts.this, Profile.class);
startActivity(mainIntent);
return true;
}
return super.onOptionsItemSelected(item);
}
当我点击Profile菜单项时,我可以看到我的Profile活动
,但我的操作栏上没有任何返回按钮,无法返回到我以前的活动中
那么,我怎样才能显示一些后退按钮呢?我的代码是否正确以显示我菜单中的活动?在onCreate()
Profile.class的方法中
getActionBar().setDisplayHomeAsUpEnabled(true);
而这个,
@Override
public boolean onOptionsItemSelected(MenuItem menuItem)
{
onBackPressed();
return true;
}
在您的个人资料活动中,检查是否缺少某些内容:
public class Profile extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// etc...
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.action_profile:
NavUtils.navigateUpFromSameTask(this);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
函数NavUtils.navigateUpFromSameTask(this)
要求您在AndroidManifest.xml文件中定义父活动
<activity android:name="com.example.ServicesViewActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.ParentActivity" />
</activity>
不工作的可能重复:java.lang.RuntimeException:无法启动活动组件信息{com.mybusiness.myapp/com.mybusiness.myapp.Profile}:java.lang.NullPointerException:尝试调用虚拟方法'void android.app.ActionBar.setDisplayHomeAsUpEnabled(布尔值)'在空对象引用上,问题非常简单-您的活动继承自新的android.support.v7.app.ActionBarActivity
。我们应该使用对getSupportActionBar()
的调用,而不是getActionBar()
。无效:java.lang.RuntimeException:无法启动活动组件信息{com.mybusiness.myapp/com.mybusiness.myapp.Profile}:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“void android.app.ActionBar.setDisplayHomeAsUpEnabled(boolean)”。为了完整性,我将在OnOptions ItemSelected
中添加finish()
调用,以说明如何返回到上一个活动。