[英]String not received by passing string between activities
我在两个Activities
之间发送一个String
。 这是我的发送字符串的class
代码。
public class SetData extends Activity implements OnClickListener{
EditText et;
Button bConfirm;
TextView tv;
String bread;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.data_input);
initiate();
bConfirm.setOnClickListener(this);
}
private void initiate() {
// TODO Auto-generated method stub
et = (EditText) findViewById(R.id.ET);
bConfirm = (Button) findViewById(R.id.button1);
tv = (TextView) findViewById(R.id.TV);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
bread = et.getText().toString();
Bundle basket = new Bundle();
basket.getString("key", bread);
Intent stringSend = new Intent(SetData.this, PrintData.class);
stringSend.putExtras(basket);
startActivity(stringSend);
} }
此活动正在按预期开始另一个活动。 另一个活动是课程:
public class PrintData extends Activity implements OnClickListener{
EditText tv;
RadioGroup RG;
Button print;
String newstring = "No content received.";
Bundle gotBasket;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.data_output);
initiate();
Intent oldintent = getIntent();
gotBasket = oldintent.getExtras();
newstring = gotBasket.getString("key");
tv.setText(newstring);
//print.setOnClickListener(this);
}
private void initiate() {
// TODO Auto-generated method stub
tv = (EditText) findViewById(R.id.TV);
print = (Button) findViewById(R.id.print);
RG = (RadioGroup) findViewById(R.id.radioGroup);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
} }
字符串newstring的默认值为“没有收到内容”。 新的活动打开时,将显示以上文本。 这意味着该字符串是由Activity1(SetData)发送的,但不是由Activity2(PrintData)接收的。
这可能是什么原因? 我该如何纠正?
您应该在第一个活动中执行basket.putString()
,而不是getString()
在您的第一个活动中,您正在做basket.getString("key", bread);
要使用包发送数据,您应该使用basket.putString("key", bread);
在您的第一个活动中,您正在做basket.putString(“ key”,面包);
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
bread = et.getText().toString();
Bundle basket = new Bundle();
basket.putString("key", bread);
Intent stringSend = new Intent(SetData.this, PrintData.class);
stringSend.putExtras(basket);
startActivity(stringSend);
}
或第一个活动:
stringSend.putExtra("key", bread)
二次活动:获取价值
newstring=getIntent().getExtras().getString("key");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.