我有一个带适配器的ListView
我想使用已实现的方法继续进行另一项活动(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方法中的参数是如何工作的。
答案 0 :(得分:1)
onItemClick()中的第二个参数是您单击的视图,因此要获取包含textView,您可以使用
viewCampagneId = (TextView) arg1.findViewById(R.id.idCampagne);
viewCampagneName = (TextView) arg1.findViewById(R.id.nomCampagne);