基本上,我有两个活动
1。FirstActivity.java
和
2。SecondActivity.java
。
在这个SecondActivity.java
中我有一个按钮,可以在这两个活动之间进行交换。所以,当我按下那个按钮时,SecondActivity.java
活动与FirstActivity.java
交换,当我关闭时我的应用程序并重新启动我的应用程序显示交换操作意味着SecondActivity.java
活动与FirstActivity.java
成功交换。
所以,伙计们,如果有人知道我该怎么做,那么请给我一些实现这种功能的想法。
答案 0 :(得分:1)
您需要正确终止您的申请。
@Override
public void onBackPressed() {
AlertDialog.Builder al=new AlertDialog.Builder(this);
al.setTitle(R.string.app_name);
al.setMessage(R.string.wanna_exit);
al.setIcon(R.drawable.back);
al.setCancelable(false);
al.setPositiveButton(R.string.yea,new DialogInterface.OnClickListener(){public void onClick(DialogInterface id, int s){
moveTaskToBack(true);
getIntent().removeExtra("isInit"); // remove if you're using any extra
android.os.Process.killProcess(android.os.Process.myPid());
finish();
System.exit(1);
}});
al.setNegativeButton(R.string.nope,new DialogInterface.OnClickListener(){public void onClick(DialogInterface id, int s){id.cancel();}});
al.create().show();
}
如果您想从一项活动转移到另一项活动,请使用finish()
。
@Override
public void onBackPressed() {
Intent intent=new Intent(getApplicationContext(),FirstActivity.class);
startActivity(intent);
finish();
}
答案 1 :(得分:1)
在SecondActivity中,在onCreate()中添加以下行:
SharedPreference pref = getSharedPreferences("yourPref", MODE_PRIVATE);
String activityName = pref.getString("activityName",null);
if(activityName != null && activityName.equals("FirstActivity")){
startActivity(new Intent(this,FirstActivity.class));
finish();
}
在SecondActivity.java类的按钮的clicklistner中添加以下行:
SharedPreference pref = getSharedPreferences("yourPref", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("activityName", "FirstActivity");
editor.commit();
在FirstActivity.java类的按钮的clicklistener中添加以下行:
SharedPreference pref = getSharedPreferences("yourPref", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("activityName", "SecondActivity");
editor.commit();
答案 2 :(得分:0)
让我们在这里订购一些。
"切换"活动是一种非常混乱的表达方式。
我建议你,当用户点击其中一个活动的按钮时,你会在Intent
中保存一个数字。
例如:
0 - 打开第一个活动。
1 - 打开第二项活动。
我猜你的应用是从第一个活动开始的。
首次运行应用程序时,从Inent
中检索此号码。
如果它的0
什么都不做。
如果是1
- 使用:startActivity(new Intent(FirstActivity.this, SecondActivity.class))
开始第二项活动,请立即使用finish()
关闭FirstActivity