android 工具栏:如果按下后退箭头,如何返回上一个 activity
android toolbar: how to go back to previous activity if back arrow is pressed
我有一个 activity 叫 Place
我从之前的activityCity
来到Place
activity。
我已使用以下代码将后退按钮添加到 Place
activity 中的工具栏:
Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true)
我想设置后退按钮返回City
activity
但是City
activity需要传递一些参数给它。
那么如何告诉后退按钮转到城市 activity,而不需要将参数传递给它。
在您的 backButton
中,您只需调用 finish();
并关闭 Activity,无需将参数传递给其他 Activity。
在您的 AndroidManifest.xml 文件中,添加标签 android:parentActivityName 并将其指向您要在后退按钮上继续的位置。在 java 您需要致电
getActionBar().setDisplayHomeAsUpEnabled(true);
方法,你已经做过了。 This 会有帮助。
<application ... >
...
<!-- The main/home activity (it has no parent activity) -->
<activity
android:name="com.example.myfirstapp.MainActivity" ...>
...
</activity>
<!-- A child of the main activity -->
<activity
android:name="com.example.myfirstapp.DisplayMessageActivity"
android:label="@string/title_activity_display_message"
android:parentActivityName="com.example.myfirstapp.MainActivity" >
<!-- Parent activity meta-data to support 4.0 and lower -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.myfirstapp.MainActivity" />
</activity>
</application>
根据你的Question.You应该使用finish ()
Call this when your activity is done and should be closed.To finish an activity finish() method should be called. This is applicable for the currently active activity.
例子
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) // Press Back Icon
{
finish();
}
return super.onOptionsItemSelected(item);
}
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
您可以简单地使用:
Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true)
在工具栏上设置后退按钮。
在清单中:
<activity
android:name="Your Second Activity"
android:parentActivityName="Your First Activity" >
<!-- Parent activity meta-data to support 4.0 and lower -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="Your First Activity" />
</activity>
最后使用:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home)
{
NavUtils.navigateUpFromSameTask(this);
}
return super.onOptionsItemSelected(item);
}
我有一个 activity 叫 Place
我从之前的activityCity
来到Place
activity。
我已使用以下代码将后退按钮添加到 Place
activity 中的工具栏:
Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true)
我想设置后退按钮返回City
activity
但是City
activity需要传递一些参数给它。
那么如何告诉后退按钮转到城市 activity,而不需要将参数传递给它。
在您的 backButton
中,您只需调用 finish();
并关闭 Activity,无需将参数传递给其他 Activity。
在您的 AndroidManifest.xml 文件中,添加标签 android:parentActivityName 并将其指向您要在后退按钮上继续的位置。在 java 您需要致电
getActionBar().setDisplayHomeAsUpEnabled(true);
方法,你已经做过了。 This 会有帮助。
<application ... >
...
<!-- The main/home activity (it has no parent activity) -->
<activity
android:name="com.example.myfirstapp.MainActivity" ...>
...
</activity>
<!-- A child of the main activity -->
<activity
android:name="com.example.myfirstapp.DisplayMessageActivity"
android:label="@string/title_activity_display_message"
android:parentActivityName="com.example.myfirstapp.MainActivity" >
<!-- Parent activity meta-data to support 4.0 and lower -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.myfirstapp.MainActivity" />
</activity>
</application>
根据你的Question.You应该使用finish ()
Call this when your activity is done and should be closed.To finish an activity finish() method should be called. This is applicable for the currently active activity.
例子
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) // Press Back Icon
{
finish();
}
return super.onOptionsItemSelected(item);
}
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
您可以简单地使用:
Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true)
在工具栏上设置后退按钮。
在清单中:
<activity
android:name="Your Second Activity"
android:parentActivityName="Your First Activity" >
<!-- Parent activity meta-data to support 4.0 and lower -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="Your First Activity" />
</activity>
最后使用:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home)
{
NavUtils.navigateUpFromSameTask(this);
}
return super.onOptionsItemSelected(item);
}