私はアクティビティ1を持っています。フラグメントはbackpressedイベントを取得し、アンドロイドでonbackpressedを実装する
getactivity().getsupportfragmentmanager().popbackstack();
私はアクティビティ1を持っています。フラグメントはbackpressedイベントを取得し、アンドロイドでonbackpressedを実装する
getactivity().getsupportfragmentmanager().popbackstack();
activity2からの断片を追加すると、この
getSupportFragmentManager().beginTransaction()
.replace(R.id.frame_layout, new SampleFragment())
.addToBackStack(SampleFragment.class.getSimpleName())
.commit();
ようbackstackするとフラグメントはbackstackに存在しているかどうかを確認してに `take`あなたをactivity2ことができる方法
@Override
public void onBackPressed() {
if(getSupportFragmentManager().getBackStackEntryCount()>0){
Fragment fragment=getSupportFragmentManager().findFragmentById(R.id.YOUR_FRAME_LAYOUT_ID);
if(fragment!=null && fragment.getClass().getSimpleName().equalsIgnoreCase(SampleFragment.class.getSimpleName())){
getSupportFragmentManager().popBackStackImmediate();
}
}else {
super.onBackPressed();
}
}
をactivity2するために戻ってフラグメントからたいと思います。
@Override
public void onBackPressed() {
if (getFragmentManager().getBackStackEntryCount() > 0) {
getFragmentManager().popBackStack();
}
else
super.onBackPressed();
}
がbackstackするために、そのフラグメントトランザクションを追加します。そこに呼んで、私は
public void onBackPressed() {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
それをポップonBackPressedそれを追加している間断片???それは、フラグメント自体を開くか、フラグメントを含む別のアクティビティを開始することができます – mrid