我在这里看了一下堆栈溢出的例子。但是,我无法获得正常工作的解决方案。我的应用程序仍然崩溃。如何将字符串从一个活动中的编辑文本传递到另一个活动?
这是我第一个活动的代码:
Button btnGo = (Button) findViewById(R.id.btnGo);
btnGo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
EditText etLocation = (EditText) findViewById(R.id.et_location);
Intent intent = new Intent();
intent.putExtra("location", etLocation.getText().toString());
startActivity(intent);
}
}
第二项活动的代码:
textView1 = (TextView) findViewById(R.id.textView1);
Intent intent = getIntent();
String str = intent.getStringExtra("location");
textView1.setText(str);
答案 0 :(得分:7)
变化:
Intent intent = new Intent();
为:
Intent intent = new Intent(MyCurrentActivityClass.this, NextActivity.class);
确保NextActivity在Manifest中。在第一种情况下,您没有提供足够的信息来启动活动。
答案 1 :(得分:4)
试试这个:
从第一个活动发送到这样:
btnGo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
EditText etLocation = (EditText) findViewById(R.id.et_location);
Intent i = new Intent(this, ActivityTwo.class);
i.putExtra("location", etLocation.getText().toString());
startActivity(i);
}
});
在第二项活动中这样做:
Intent in = getIntent();
String tv1= in.getExtras().getString("location");
textView1.setText(tv1);
答案 2 :(得分:3)
您应该以这种方式从第二项活动中获取您的信息:
Bundle extras = getIntent().getExtras();
String myLocation= extras.getString("location");
答案 3 :(得分:0)
您是否声明了变量textview1?改变
textView1 =(TextView)findViewById(R.id.textView1);到
TextView textView1 =(TextView)findViewById(R.id.textView1);