Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在单击按钮和应用程序再次启动时交换两个完整的活动,然后显示交换更改_Java_Android_Android Activity - Fatal编程技术网

Java 如何在单击按钮和应用程序再次启动时交换两个完整的活动,然后显示交换更改

Java 如何在单击按钮和应用程序再次启动时交换两个完整的活动,然后显示交换更改,java,android,android-activity,Java,Android,Android Activity,基本上,我有两项活动 1.FirstActivity.java和 2.SecondActivity.java 在这个SecondActivity.java中,我有一个按钮可以在这两个活动之间进行交换。所以,当我当时按下该按钮时,SecondActivity.javaactivity与FirstActivity.java交换,当我关闭应用程序并再次重新启动应用程序时,交换的操作意味着SecondActivity.javaactivity与FirstActivity.java成功交换 所以,伙计们,

基本上,我有两项活动

1.
FirstActivity.java

2.
SecondActivity.java

在这个
SecondActivity.java
中,我有一个按钮可以在这两个活动之间进行交换。所以,当我当时按下该按钮时,
SecondActivity.java
activity与
FirstActivity.java
交换,当我关闭应用程序并再次重新启动应用程序时,交换的操作意味着
SecondActivity.java
activity与
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();
}

您需要正确终止您的应用程序

@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();
}
让我们在这里点菜。 “转换”活动是一个非常令人困惑的表达。 我建议您,当用户单击其中一个活动的按钮时,您将在
Intent
中保存一个数字

例如:

0-打开第一个活动

1-打开第二个活动

我猜你的应用程序是从第一个活动开始启动的

当应用程序首次运行时,请从
inte
中检索此编号。 如果是
0
什么也不做。 如果是
1
-使用:
startActivity(新意图(FirstActivity.this,SecondActivity.class))
启动第二个活动,然后立即使用
finish()
关闭
FirstActivity

,让我们在这里下一些命令。 “转换”活动是一个非常令人困惑的表达。 我建议您,当用户单击其中一个活动的按钮时,您将在
Intent
中保存一个数字

例如:

0-打开第一个活动

1-打开第二个活动

我猜你的应用程序是从第一个活动开始启动的

当应用程序首次运行时,请从
inte
中检索此编号。 如果是
0
什么也不做。
如果是
1
-使用:
startActivity(新意图(FirstActivity.this,SecondActivity.class))
启动第二个活动,然后立即使用
finish()
关闭第二个活动中的
FirstActivity
,在onCreate()中添加以下行:

在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();

在第二个活动中,在onCreate()中添加以下行:

在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();

使用共享首选项了解更改。我在下面添加了答案。请检查。使用共享首选项了解更改。我在下面添加了答案。请检查它。Thxx为您的答复…我将尝试此解决方案Thxx为您的答复…我将尝试此解决方案