返回上一个 activity 和另一个后退按钮的片段
Going back to the previous activity and fragment from an additional back button
我有一个在片段之间进行标签导航的应用程序。其中一个片段有一个选项可以打开一个新的 activity。当我使用此 activity 中的内置设备后退按钮时,它返回到选项卡式 activity 并选择了上一个片段选项卡。
我在我的应用程序中的 activity 的操作栏中添加了一个后退按钮,方法是:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
并在清单中设置父级 activity,但此按钮始终导航回父级 activity 的第一个选项卡,而不是之前可见的选项卡。
如何使此后退按钮的行为与设备后退按钮的行为相同?
做这样的事情:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch(id) {
case android.R.id.home:
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
onBackPressed() 方法:
@Override
public void onBackPressed() {
super.onBackPressed();
}
以这种方式处理返回事件
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch(id) {
case android.R.id.home:
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
背压法
@Override
public void onBackPressed() {
Intent intent = new Intent(SecondActivity.this,TabbedActivity.class);
intent.putExtra("IsBack",true);
startActivity(intent);
}
在您的选项卡中 activity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tabs);
if(getIntent().getExtras().getBoolean("IsBack")){
//navigate to your desire fragment
}
}
我有一个在片段之间进行标签导航的应用程序。其中一个片段有一个选项可以打开一个新的 activity。当我使用此 activity 中的内置设备后退按钮时,它返回到选项卡式 activity 并选择了上一个片段选项卡。
我在我的应用程序中的 activity 的操作栏中添加了一个后退按钮,方法是:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
并在清单中设置父级 activity,但此按钮始终导航回父级 activity 的第一个选项卡,而不是之前可见的选项卡。
如何使此后退按钮的行为与设备后退按钮的行为相同?
做这样的事情:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch(id) {
case android.R.id.home:
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
onBackPressed() 方法:
@Override
public void onBackPressed() {
super.onBackPressed();
}
以这种方式处理返回事件
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch(id) {
case android.R.id.home:
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
背压法
@Override
public void onBackPressed() {
Intent intent = new Intent(SecondActivity.this,TabbedActivity.class);
intent.putExtra("IsBack",true);
startActivity(intent);
}
在您的选项卡中 activity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tabs);
if(getIntent().getExtras().getBoolean("IsBack")){
//navigate to your desire fragment
}
}