【发布时间】:2015-11-14 15:23:54
【问题描述】:
我正在使用具有微调器和文本框的自定义列表项实现自定义列表视图。我想在列表视图的列表项中使用onItemSelected() 保存选定的微调器值,但我不知道要找到一个包含用户正在处理的微调器的列表项。我怎样才能得到这个,有人可以帮忙吗?
下面是我在列表视图适配器中的代码。
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View listItemView = convertView;
if (listItemView == null) {
listItemView = inflater.inflate(R.layout.listitem, null);
ViewHolder viewHolder = new ViewHolder();
viewHolder.view1 = (Spinner) listItemView.findViewById(R.id.view1);
viewHolder.view2 = (TextView) listItemView.findViewById(R.id.view2);
viewHolder.view1.setFocusable(false);
viewHolder.view2.setFocusable(false);
viewHolder.view1.setAdapter(view1Adapter);
viewHolder.view1.setPrompt("Select");
viewHolder.view1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String selectedId = spinnerItemList.get(position).id;
// todo : need to find a way to get list item of list view, which has this spinner, like the position of getView().
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
listItemView.setTag(viewHolder);
}
CustomListItem item = listViewItemList.get(position);
ViewHolder viewHolder = listItemView.getTag();
viewHolder.view1.setSelection(item.view1Value);
viewHolder.view2.setText(String.valueOf(item.view2Value));
return listItemView;
}
【问题讨论】:
-
@Loc 是的,它不需要是实例,CustomListItem 的索引就可以了。
标签: android android-listview android-spinner