如何将多个数据传输到不同的活动

时间:2018-10-23 06:32:29

标签: java android

我有MainActivityFirstActivitySecondActivity

MainActivity中,我有2个 Edittext 名称:Edittext1Edittext2。另外,我有1个按钮,它将同时提交结果到FirstActivitySecondActivity

FirstActivity中,将有1个 textview ,它将从Edittext1获取MainActivity的结果。当单击将导航到SecondActivity时,它还有1个 button 意图。

问题:如何从Edittext2获取MainActivity的数据?

4 个答案:

答案 0 :(得分:0)

您应该使用intent.putExtras()将Maintext中的edittext1和edittext2数据都传递给Firstactivity,然后在单击按钮时从firstactivity中将您从Mainactivity收到的edititext2数据传递给SecondActivity

答案 1 :(得分:0)

MainActivity.java中的代码

mainActivityButton.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View view) {
        Intent intent = new Intent(MainActivity.this, FirstActivity.class);
        intent.putExtra("Editext1", editText1.getText().toString());
        intent.putExtra("Editext2", editText2.getText().toString());
        startActivity(intent);
        }
    });

First Activity.java中的代码

firstActivityButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
         Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
         intent.putExtra("Editext2Data", getIntent().getStringExtra("Edittext2"););
         startActivity(intent);
            }
        });

更新

要直接访问主要活动数据。您可以使用static变量来存储edittext数据,并在任何地方获取该数据(不是一种好方法)

在主要活动中将其全局初始化

public static String editext2_data = "";

点击按钮保存其中的数据

mainActivityButton.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View view) {  
         editext2_data = editText2.getText().toString();

        //Intent intent = new Intent(MainActivity.this, FirstActivity.class);
        //intent.putExtra("Editext1", editText1.getText().toString());
        //intent.putExtra("Editext2", editText2.getText().toString());
        //startActivity(intent);
        }
    });

从SecondActivity访问MainActivity的静态变量为

String data = MainActivity.editext2_data; 

答案 2 :(得分:0)

在MainActivity中

submitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
    Intent intent = new Intent(MainActivity.this, FirstActivity.class);
    intent.putExtra("Editext2", editText2.getText().toString());
    startActivity(intent);
    }
});

在FirstActivity中:

String data= getIntent().getStringExtra("Editext2");
submitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("Editext2Data",data);
startActivity(intent);
}
});

在SecondActvity中:

String data= getIntent().getStringExtra("Editext2Data");

答案 3 :(得分:-2)

您应该使用Bundles将数据从一个活动传递到另一个活动..

只需了解android中的捆绑包... !!