将问题传递给第二个活动页面时出现问题。
第一项活动能够举杯并显示pname
的值Intent purchase = new Intent(getApplicationContext(), PurchaseActivity.class);
startActivity(purchase);
purchase.putExtra("productname", pname.getText().toString());
finish();
第二项活动无法检索getStringExtra
TextView test;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.purchase);
test = (TextView) findViewById(R.id.textpurchaseitem);
Intent intent = getIntent();
test.setText(getIntent().getStringExtra("productname"));
答案 0 :(得分:1)
您应该在startActivity
之前写下以下行。
purchase.putExtra("productname", pname.getText().toString());
您在startActivity
之后撰写,因此它不会将您的价值发送到其他活动,因为您的数据不会附加到您的意图中。所以你需要在startActivity
之前打电话。
答案 1 :(得分:0)
修改您的第一个活动:
Intent purchase = new Intent(getApplicationContext(), PurchaseActivity.class);
purchase.putExtra("productname", pname.getText().toString());
startActivity(purchase);
finish();
答案 2 :(得分:0)
startactivity
应低于putextra
,以便可以将值从第一个活动传递到其他
答案 3 :(得分:0)
这是您的解决方案
Intent purchase = new Intent(getApplicationContext(), PurchaseActivity.class);
purchase.putExtra("productname", pname.getText().toString());
startActivity(purchase);
finish();
Intent intent = getIntent();
if(getIntent().getStringExtra("productname")!=null)
test.setText(getIntent().getStringExtra("productname"));