我有一个ListView(设置为CHOICE_MODE_SINGLE) 我有一个SimpleCursorAdapter来填充我的ListView。现在我正在选择。
serviceListView.setAdapter(
new SimpleCursorAdapter(this, R.layout.service_listitem, cursor, new String[] { "name" }, new int[] { R.id.service_name }) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final View renderer = super.getView(position, convertView, parent);
if (position == newSelectedPosition) {
renderer.setBackgroundResource(R.layout.list_view_layer_list);
} else {
renderer.setBackgroundResource(android.R.color.transparent);
}
return renderer;
}
}
);
所以当我选择一行时,我想要应用我的布局。这很好用。 但在某些情况下,当我连续推动2-3秒然后拖动一点然后释放行我获得2行选择。 我尝试了几种方法来获取初始选择,覆盖OnTouchListener,OnScrollListener,OnLongClickListener。没有结果。 欢迎任何帮助 感谢
答案 0 :(得分:0)
选择更改后,您是否尝试在适配器上调用notifyDataSetChanged()
?这应该会导致所有行再次反弹,并且所有视图(所选视图除外)都将恢复为透明背景。
答案 1 :(得分:0)
我退出了这个实现。 我将尝试使用带有TextView-s的ScrollView为每行“模拟”ListView