使用OnItemClickListener获取有关Item的文本

时间:2014-05-16 15:23:33

标签: android android-listview android-activity

我有一个带适配器的ListView

enter image description here

我想使用已实现的方法继续进行另一项活动(SendSmsActivity.class):

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

                viewCampagneId = (TextView)findViewById(R.id.idCampagne);
                final String theCampagneId = viewCampagneId.getText().toString();

                viewCampagneName = (TextView)findViewById(R.id.nomCampagne);
                final String theCampagneName = viewCampagneName.getText().toString();

                Intent i = new Intent(RecupXml_Activity.this,SendSmsActivity.class);
                i.putExtra("ID", theCampagneId);
                i.putExtra("name", theCampagneName);
                startActivity(i);

            }

SendSmsActivity.class将根据textview2中的ID下载xml。 例如:如果我点击“campagne22”项,它将转到另一个活动并在http://blabla/?id="**22**"加载xml 所以我必须在textview2中获取文本以将值ID放入PutExtra中(因此activity2可以捕获它)

我该怎么办?

使用上面的实际代码,它不起作用,它将项目保存在视图的顶部而不是我选择的项目。

PS:看来我真的不知道onItemClickListener方法中的参数是如何工作的。

1 个答案:

答案 0 :(得分:1)

onItemClick()中的第二个参数是您单击的视图,因此要获取包含textView,您可以使用

viewCampagneId = (TextView) arg1.findViewById(R.id.idCampagne);
viewCampagneName = (TextView) arg1.findViewById(R.id.nomCampagne);