2017-06-05 82 views
1

我使用的意图是这样开始的活动:在单击后退按钮活动正在重新启动本身

Bundle bundle = new Bundle(); 
bundle.putParcelableArrayList("datacover",arrayList); 
Intent intent = new Intent(TroubleShootActivity.this,SearchResultsActivity.class); 
intent.putExtra("bundle",bundle); 
startActivity(intent); 

我不是整理活动,但仍当我在一个活动上单击后退按钮,它不返回到以前的活动,而是重新启动自己。

代码的其他活动:下面的代码

public class SearchResultsActivity extends AppCompatActivity implements InnerDetailsFragment.OntroubleshootinneritemsListener,InnerDetailsFragment.OnHandleBack,CompleteDetailsFragment.OnHandleBack { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_search_results); 
    if(!getResources().getBoolean(R.bool.twoPaneMode)){ 
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
    }else{ 
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
    } 

    Bundle bundle=getIntent().getBundleExtra("bundle"); 

    FragmentManager fragmentManager = getSupportFragmentManager(); 
    Fragment Inner = new InnerDetailsFragment(); 
    bundle.putString("val", "search"); 
    Inner.setArguments(bundle); 
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction().replace(R.id.activity_search_results,Inner); 

    fragmentTransaction.commit(); 


} 

@Override 
public void onBackClick(String inner) { 
    super.onBackPressed(); 
} 

@Override 
public void ontroubleinneritemelected(int position, String heading, CoverageData coverageData) { 
    Bundle bundle = new Bundle(); 
    bundle.putParcelable("coverage",coverageData); 

    FragmentManager fragmentManager = getSupportFragmentManager(); 
    Fragment Detailsf= new CompleteDetailsFragment(); 
    Detailsf.setArguments(bundle); 
    FragmentTransaction ft = fragmentManager.beginTransaction().replace(R.id.activity_search_results,Detailsf); 
    ft.addToBackStack("completedetails"); 
    ft.commit(); 

} 

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
} 
} 
+0

使用finish()代替super.onBackPressed(); –

+0

你能分享InnerDetailsFragment吗?或者这3个听众。 – JavadKhan

+0

根本不覆盖后退按钮。不知道你从中获得什么 – Doomsknight

回答

-1

使用...

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 

    Intent i=new Intent(CurrentActivity.this, PreviousActivity.class); 
    startActivity(i); 
} 
0

刚刚尝试这一点在第二活动

@Override 
public void onBackPressed() { 
    finish(); 
} 

fragmentManager.beginTransaction()。添加(R.id.activity_search_results,Detailsf); ft.commit();

+0

有两个片段,如果我第二个片段后面应该来到第一个片段,如果我添加完成();它会直接从第二个片段中退出活动。 –

+0

FragmentManager fragmentManager = getSupportFragmentManager(); Fragment Detailsf = new CompleteDetailsFragment(); Detailsf.setArguments(bundle); FragmentTransaction ft = fragmentManager.beginTransaction()。add(R.id.activity_search_results,Detailsf); ft.addToBackStack(“completedetails”); ft.commit(); – Meikiem

+0

在这部分代码中代替try try add。 – Meikiem

相关问题