我有一个自定义listadapter,每个级别都有图像和文本。我想获得所选级别的文本。
public View updateView(View view, TreeNodeInfo<Long> treeNodeInfo) {
final LinearLayout viewLayout = (LinearLayout) view;
final TextView descriptionView = (TextView) viewLayout.findViewById(R.id.item);
final ImageView img = (ImageView)viewLayout.findViewById(R.id.image);
return viewLayout; }
在我的活动课中,我在列表上有一个clicklistener。
customlist.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(final AdapterView<?> parent, final View view, final int position, final long id){
//dostuff
}
});
(TextView的)view.findViewById(R.id.item);
仅返回第一个项目的文本,而不返回列表中的任何其他所选项目。
如何获取所选项目的文本。??
答案 0 :(得分:1)
使用用于将文本绑定到文本视图的基础数据,更新该数据,并通知ListView数据已更改。
For example
List<Map<String,String> data = new List<Map<String,String>>();
// a bunch of add's
adapter = new SimpleAdapter(Activity.this, data, R.layout.list_item,
new String{TEXT1, TEXT2, TEXT3, IMG1},
new int[] {R.id.text1, R.id.text2, R.id.text3, R.id.IMG1});
// set adapter
// ...
onListItemClick(..., int position, long id){
Map<String,String> item = data.get(position);
item.put(TEXT1, updatedText1String);
item.put(TEXT2, updatedText2String);
item.put(TEXT3, updatedText3String);
listView.notifyDataSetChanged();
}