我已经检查了十几次代码。似乎没有任何东西,但令人讨厌,它不起作用。
我只是使用putExtra将数据从一个活动传递到另一个活动。第二个活动始终从getStringExtra方法获得 null 。
以下是代码:
dataViewHolder.setClickListener(new DataViewHolder.ClickListener() {
@Override
public void onClick(View v, int pos, boolean isLongClick) {
con.startActivity(new Intent(con, Products.class).putExtra("category", "33"));
}
});
第二项活动。这里,getStringExtra总是返回 null ,如字符串null。
Intent i = new Intent();
new GetJson().execute(url + i.getStringExtra("category"));
答案 0 :(得分:3)
在第二个Activity中,您应该使用启动Activity的意图:
Intent i = getIntent();
而不是创建一个新的:
Intent i = new Intent();
答案 1 :(得分:2)
您正在SecondActivity中创建新的Intent并尝试从中获取数据。这就是为什么它总是返回 null ,
正如@Gorcyn所说,
替换Intent i = new Intent();
与Intent i = getIntent();
这将获得启动 Activity 的意图。
答案 2 :(得分:1)
您可以通过getIntent方法从getStringExtra方法获取它。
new GetJson().execute(url + getIntent().getStringExtra("category"));