在我的项目中,给出了2个活动-主活动和第二个活动。在我的主活动中,我有四个片段,在第三个片段中,有一个按钮用于转到第二个活动。
我将实现下面的代码以返回
**这段代码回到我的主活动在家里片段。但我经历了第三个fragment.so我想回到我的第三个片段。**请编码员帮助我解决这个问题。
另外,当我从一个片段转到另一个片段并想返回到同一个片段时,请帮助我。
在清单中
<activity
android:name=".SecondActivity"
android:parentActivityName=".MainActivity"
android:exported="false" />
第三个片段
binding.goToSecondActivity.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent a = new Intent(getActivity(), SecondActivity.class);
a.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(a);
}
});
在第二个活动中
public class SecondActivity extends AppCompatActivity {
ActivitySecondBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivitySecondBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
getSupportActionBar().setTitle("Second Page");
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
// code here
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
super.onBackPressed();
}
}
1条答案
按热度按时间ohfgkhjo1#
You should define a class, with a method getInstance accessible globally, that contains the last fragment visited, when you press back you should use the fragment manager to recreate the last fragment (found in the new class) and then, looking at the model of the selected fragment, repopulate it with the old data (if there are inputs/non static datas in the fragment)