我希望在ListView行被cliked时得到自定义项目.i在一行上有很多项目,当我按下ListView行时,我得到该行的所有项目,而我需要其中一行。请帮我拿到自定义项目
我的代码:
....
if (userList.size() != 0) {
//Set the User Array list in ListView
adapter = new SimpleAdapter(getActivity(), userList, R.layout.tab_0_requests_list_adapter_view,
new String[]{"full_name", "school", "level", "driver_fullname", "driverphone_number","plate_no","year"},
new int[]{ R.id.names, R.id.School, R.id.SchoolLevel, R.id.drivername, R.id.driverphone, R.id.busplateno, R.id.agenumber});
myList.setAdapter(adapter);
}
....
myList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View convertView, int position,
long id) {
String name = parent.getItemAtPosition(position).toString();
Toast.makeText(getActivity(), name, Toast.LENGTH_SHORT).show();
});
return v;
}
答案 0 :(得分:0)
为了绑定到ListView项目中的特定部分(例如TextView),您应该使用自定义布局。 ViewHolder模式将为您提供帮助,因为您可以在单个视图上绑定点击事件。 This example可能会对您有所帮助。
答案 1 :(得分:0)
由于我已经在ArrayList hashmap String中存储了混合数据,我从Arraylist Hasmap字符串中检索了自定义数据,如下所示:
我替换了这些行:
String name = parent.getItemAtPosition(position).toString();
Toast.makeText(getActivity(), name, Toast.LENGTH_SHORT).show();
使用:
HashMap<String, String> hashmap= userList.get(position);
String string= hashmap.get("level");
.....
Toast.makeText(getActivity(), string, Toast.LENGTH_SHORT).show();