如何将多个变量从一个活动传递到另一个活动?
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);
});
}
}
它显示无法解析方法putExtra
,startActivity
,甚至不接受str1和其他等。我是android新手。请帮助。
答案 0 :(得分:0)
您的问题中的代码格式不正确,因此很难确定,但我认为问题是您过早关闭了onClick
方法正文。 Intent
设置和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);
}
});