【问题标题】:How to pass multiple variables from one Activity to another Activity如何将多个变量从一个活动传递到另一个活动
【发布时间】:2016-11-13 06:49:19
【问题描述】:

如何将多个变量从一个活动传递到另一个活动?

public class MainActivity extends AppCompatActivity  {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button save = (Button) findViewById(R.id.button1);

        save.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                // get EditText by id
                EditText inputTxt_1= (EditText) findViewById(R.id.edittext1);
                EditText inputTxt_2=(EditText)findViewById(R.id.editText2);
                EditText inputTxt_3=(EditText)findViewById(R.id.editText3);
                EditText inputTxt_4=(EditText)findViewById(R.id.editText4);

                // Store EditText in Variable
                String  str1 = inputTxt_1.getText().toString();
                String str2 = inputTxt_2.getText().toString();
                String str3 = inputTxt_3.getText().toString();
                String str4 = inputTxt_4.getText().toString();
            }

            Intent intent = new Intent(MainActivity.this, Main2Activity.class);
            intent.putExtra("inputTxt_1", str1);
            intent.putExtra("inputTxt_2", str2);
            intent.putExtra("inputTxt_3", str3);
            intent.putExtra("inputTxt_4", str4);
            startActivity(intent);
        });
   }
}

它显示无法解析方法putExtrastartActivity,甚至不接受 str1 等。我是 android 新手。请帮忙。

【问题讨论】:

  • }上方的Intent intent = ...移动到startActivity(intent);之后。

标签: java android android-intent


【解决方案1】:

您问题中的代码格式不正确,因此很难确定,但我认为问题在于您过早关闭 onClick 方法体。 Intent setup 和 startActivity 调用是在此方法的主体之外完成的,它是您创建的匿名 View.OnClickListener 类的实例的主体。

试试这个:

save.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {

        // get EditText by id
        EditText inputTxt_1= (EditText) findViewById(R.id.edittext1);
        EditText inputTxt_2=(EditText)findViewById(R.id.editText2);
        EditText inputTxt_3=(EditText)findViewById(R.id.editText3);
        EditText inputTxt_4=(EditText)findViewById(R.id.editText4);

        // Store EditText in Variable
        String  str1 = inputTxt_1.getText().toString();
        String str2 = inputTxt_2.getText().toString();
        String str3 = inputTxt_3.getText().toString();
        String str4 = inputTxt_4.getText().toString();

        Intent intent = new Intent(MainActivity.this, Main2Activity.class);
        intent.putExtra("inputTxt_1", str1);
        intent.putExtra("inputTxt_2", str2);
        intent.putExtra("inputTxt_3", str3);
        intent.putExtra("inputTxt_4", str4);
        startActivity(intent);
    }
});

【讨论】:

    猜你喜欢
    • 2021-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多