如何在 Activity 中显示后退按钮
How do I show back button in Activity
我试过这段代码来显示我的 ProfileActivity
:
@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);
}
当我单击“配置文件”菜单项时,我可以看到我的 ProfileActivity
,但我在上一个 activity 中的 ActionBar
到 return 上没有任何后退按钮。
那么,我怎样才能显示一些后退按钮?我的代码是否正确以显示菜单中的 activity?
在Profile.class
的onCreate()
方法中放这个,
getActionBar().setDisplayHomeAsUpEnabled(true);
还有这个,
@Override
public boolean onOptionsItemSelected(MenuItem menuItem)
{
onBackPressed();
return true;
}
在您的个人资料中Activity检查是否缺少某些内容:
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
<activity android:name="com.example.ServicesViewActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.ParentActivity" />
</activity>
http://developer.android.com/design/patterns/navigation.html#up-vs-back
我试过这段代码来显示我的 ProfileActivity
:
@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);
}
当我单击“配置文件”菜单项时,我可以看到我的 ProfileActivity
,但我在上一个 activity 中的 ActionBar
到 return 上没有任何后退按钮。
那么,我怎样才能显示一些后退按钮?我的代码是否正确以显示菜单中的 activity?
在Profile.class
的onCreate()
方法中放这个,
getActionBar().setDisplayHomeAsUpEnabled(true);
还有这个,
@Override
public boolean onOptionsItemSelected(MenuItem menuItem)
{
onBackPressed();
return true;
}
在您的个人资料中Activity检查是否缺少某些内容:
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
<activity android:name="com.example.ServicesViewActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.ParentActivity" />
</activity>
http://developer.android.com/design/patterns/navigation.html#up-vs-back