ListView中的Android选择问题

时间:2011-10-27 14:07:57

标签: android listview selection

我有一个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。没有结果。 欢迎任何帮助 感谢

2 个答案:

答案 0 :(得分:0)

选择更改后,您是否尝试在适配器上调用notifyDataSetChanged()?这应该会导致所有行再次反弹,并且所有视图(所选视图除外)都将恢复为透明背景。

答案 1 :(得分:0)

我退出了这个实现。 我将尝试使用带有TextView-s的ScrollView为每行“模拟”ListView