[英]How to swap two whole activity when button is clicked and when application start again then display that swapping changes
基本上我有兩個活動
1. FirstActivity.java
和
2. SecondActivity.java
。
在這個SecondActivity.java
我有一個Button可以在這兩個活動之間進行交換。因此,當我當時按下那個Button時, SecondActivity.java
活動與FirstActivity.java
交換,當我關閉應用程序並再次重新啟動時,我的應用程序將顯示交換操作意味着SecondActivity.java
活動已與FirstActivity.java
成功交換。
所以,你們如果有人知道我該怎么做,那么請給我一些實現這種功能的想法。
您需要正確終止您的應用程序。
@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();
}
在您的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();
讓我們在這里下訂單。 “轉換”活動是一個非常令人困惑的表達。 我建議您,當用戶在其中一項活動中單擊按鈕時,將在Intent
保存一個數字。
例如:
0-打開第一個活動。
1-打開第二個活動。
我猜您的應用是從第一個活動啟動的。
當應用程序首次運行時,請從Inent
檢索此數字。 如果其為0
則不執行任何操作。 如果是1
,請使用: startActivity(new Intent(FirstActivity.this, SecondActivity.class))
啟動第二個活動,然后FirstActivity
,使用finish()
關閉FirstActivity
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.