我正在尝试将字符串的值传递给我从 EditText 框中获得的下一个 Intent 。
final EditText et1 = (EditText) findViewById(R.id.editText1);
final String userid = et1.getText().toString();
final EditText et2 = (EditText) findViewById(R.id.editText2);
final String pass = et2.getText().toString();
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i= new Intent(Main.this, Main1.class);
i.putExtra("userid",userid);
i.putExtra("pass",pass);
startActivity(i);
}
});
在 Main1.class 中我有以下代码...
Intent i= getIntent();
String userid = i.getStringExtra("userid");
String pass = i.getStringExtra("pass");
但是我收到一个错误。检查logcat后发现错误在这一行:
String userid = i.getStringExtra("userid");
我认为我正在尝试错误地接收字符串,尽管我不知道真正的问题是什么。难道我做错了什么?通过 Intent 发送和接收字符串的正确方法是什么?如果还有其他办法,请帮帮我。
我的两个类都扩展了 Activity 并实现了 OnClickListener
。
最佳答案
这样做
您应该尝试在onClick事件
中获取元素
final EditText et1 = (EditText) findViewById(R.id.editText1);
final EditText et2 = (EditText) findViewById(R.id.editText2);
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String userid = et1.getText().toString();
String pass = et2.getText().toString();
Intent i= new Intent(Main.this, Main1.class);
i.putExtra("userid",userid);
i.putExtra("pass",pass);
startActivity(i);
}
});
关于android - 将字符串从 edittext 传递到新 Intent 会出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16421520/