我有一个列表活动,当用户按下一个订单项时,它会将记录的ID传递给下一个活动。
Intent intent = new Intent(CustomerListActivity.this, CustomerEditActivity.class);
intent.putExtra("CUSTOMER_ID", id);
startActivity(intent);
我可以在调试该活动时看到intent中的数据;但是,当我进入下一个活动时,数据不会出现以下代码。
Intent i = getIntent();
Bundle b = i.getExtras();
String s = b.getString("CUSTOMER_ID");
我已经在变量窗口中进行了调试和调试,但是我没有像上一次活动那样看到Customer_ID =#值。
答案 0 :(得分:1)
您应该致电String s = b.getStringExtra("CUSTOMER_ID");
答案 1 :(得分:0)
您必须在New Activity中调用getStringExtra()
方法以从Intent中检索值。
例如:
String custIdInNewAct= getIntent().getStringExtra("CUSTOMER_ID");
答案 2 :(得分:0)
Bundle包含调用活动发送的数据
Bundle b = getIntent().getExtras();
String s = b.getString("CUSTOMER_ID")`;
答案 3 :(得分:0)
String s= getIntent().getExtras().get("CUSTOMER_ID")+"";
答案 4 :(得分:0)
这是你如何以正确的方式做到的
//main activity
Intent intent = new Intent(getActivity(), TargetActivity.class);
intent.putExtra("ParamKey", "key_value");
getActivity().startActivity(intent);
****
//TargetActivity
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.target_activity_layout);
Bundle extras = getIntent().getExtras();
if (extras != null) {
if (extras.get("ParamKey") != null)
paramValue= extras.getString("ParamKey", "default_value");
}