Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.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 - Fatal编程技术网

Java 向不同的活动发送变量

Java 向不同的活动发送变量,java,android,Java,Android,在MainActivity中,我创建了一个名为“pengar”的变量。然后,我使用intent上的putExtra将此变量发送到我的第二个活动。在第二个活动中,我编辑了变量,但是当我使用后退按钮返回到我的主要活动时,我不能使用putExtra 在主活动中编写以下代码 protected void onCreate(Bundle savedInstancesState) { super.onCreate(savedInstanceState); setContent

在MainActivity中,我创建了一个名为“pengar”的变量。然后,我使用intent上的putExtra将此变量发送到我的第二个活动。在第二个活动中,我编辑了变量,但是当我使用后退按钮返回到我的主要活动时,我不能使用putExtra

在主活动中编写以下代码

protected void onCreate(Bundle savedInstancesState)
{
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Bundle extras = getIntent().getExtras();
        if (extras != null)
        {
            pengar = extras.getString("key2");
        }
}
 public void nextActivity(View view) 
{
        Intent intent = new Intent(this, SecondActivity.class);
        intent.putExtra("key1",pengar);
        startActivity(intent);
}
protected void onCreate(Bundle savedInstancesState)
{
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        Bundle extras1 = getIntent().getExtras();
        if (extras1 != null) {
            var2 = extras1.getString("key1");
        }
    public void backButton(View view) 
{
        Intent intent2= new Intent(this,MainActivity.class);
        intent2.putExtra("key2",var2);
        startActivity(intent2);
    }
}

在第二项活动中写下以下代码

protected void onCreate(Bundle savedInstancesState)
{
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Bundle extras = getIntent().getExtras();
        if (extras != null)
        {
            pengar = extras.getString("key2");
        }
}
 public void nextActivity(View view) 
{
        Intent intent = new Intent(this, SecondActivity.class);
        intent.putExtra("key1",pengar);
        startActivity(intent);
}
protected void onCreate(Bundle savedInstancesState)
{
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        Bundle extras1 = getIntent().getExtras();
        if (extras1 != null) {
            var2 = extras1.getString("key1");
        }
    public void backButton(View view) 
{
        Intent intent2= new Intent(this,MainActivity.class);
        intent2.putExtra("key2",var2);
        startActivity(intent2);
    }
}

希望这有帮助

许多设计模式能够使用意图传递数据,使用startForResult启动第二个活动,并在第二个活动完成时在结果中设置数据。用户在第一个活动中回调onActivityResult,以通过第二个活动返回结果中的数据集。阅读更多关于Android开发者的信息。