ListView PutExtra什么都不返回

时间:2014-09-28 06:59:23

标签: java android listview android-intent

我有这段代码:

list.setOnItemClickListener(new OnItemClickListener() {

           @Override
           public void onItemClick(AdapterView<?> p1, View p2, int p3, long p4)
           {
               //Toast.makeText(getActivity().getApplicationContext(), "", Toast.LENGTH_SHORT).show();
               Intent epActivity = new Intent(getActivity().getApplicationContext(), EpisodeActivity.class);
               epActivity.putExtra(POSITION, p3);
               startActivity(epActivity);
           }
        });

我的EpisodeActivity中的代码:

Intent i = getIntent();
String pos = i.getStringExtra(MainActivity.PlaceholderFragment.POSITION);

问题是我得到一个空的pos变量。 出了什么问题?

2 个答案:

答案 0 :(得分:0)

你必须使用getIntExtra,因为你使用的是int(参见p3参数),但是你试图得到一个字符串。

答案 1 :(得分:0)

你的问题是你是通过额外的意图发送一个整数值,你试图通过字符串来获取它。

你额外的p3类型是整数,所以在EpisodeActivity类中它应该是这样的:

Intent i = getIntent();
int pos = i.getIntExtra(MainActivity.PlaceholderFragment.POSITION);

如果你想把它作为字符串,你可以稍后使用基本的java variabel转换将它转换为字符串。