putExtra和getStringExtra不起作用

时间:2015-02-23 10:15:03

标签: android

我已经检查了十几次代码。似乎没有任何东西,但令人讨厌,它不起作用。

我只是使用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"));

3 个答案:

答案 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"));