我有MainActivity和SecondActivity.
AndroidManifest.xml中
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SecondActivity"
android:label="@string/title_activity_second_activitity"
android:parentActivityName=".MainActivity" >
</activity>
Run Code Online (Sandbox Code Playgroud)
当我点击后面的图标时SecondActivity,它更有可能MainActivity被推上SecondActivity.相反,物理后退按钮将SecondActivity弹出并返回MainActivity.
如何使后退箭头图标的行为与物理后退按钮相同?
Car*_*s J 11
根据谷歌的指导原则,物理后退按钮和图标后退按钮不应该以相同的方式工作.但是如果你想改变它的行为,你需要通过执行下一步来覆盖它的功能:
在您的SecondActivity覆盖上 onOptionsItemSelected
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
onBackPressed(); //Call the back button's method
return true;
}
return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud)
此外,您需要android:parentActivityName=".MainActivity"从清单中删除,但要避免删除后退图标,您需要将其设置为启用:
@Override
public boolean onCreate(Bundle savedInstanceState) {
...
ActionBar actionBar = getActionBar(); //Make sure you are extending ActionBarActivity
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);
//It's also possible to use getSupportActionBar()
}
Run Code Online (Sandbox Code Playgroud)
小智 6
卡洛斯的回答有效。还有另一种我认为更直接的方法:只需将点击侦听器直接添加到后退图标即可。
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4524 次 |
| 最近记录: |