簡體   English   中英

單擊按鈕時以及如何重新啟動應用程序時如何交換兩個整個活動,然后顯示交換更改

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM