设置onItemClick /ListView /中选中的项目



我有Activity与ListView和按钮- "clear all"one_answers"OK"。在"清除所有"按钮上,我清除了项目的选中状态-它工作得很好。

m_list.setItemChecked(pos, false); 

On onItemClick我试图改变项目的状态/检查<->未检查/取决于复杂的业务逻辑。业务层决定检查或者不止一件。我正在尝试相同的代码:

m_list.setItemChecked(position, bCheck); 

它不工作。

"Clear all"代码:

@Override
public void onClick(View v)
{
    if (v == m_map)
        GoToMap();
    else if (v == m_clear)
    {
        for (int i=0; i < m_poiCategories.size();i++)
        m_list.setItemChecked(pos, false);
    }
}

这个代码不工作:

m_list.setOnItemClickListener(new OnItemClickListener()
    {
    @Override
    public void onItemClick(AdapterView<?> listView, View selectedItem, int position, long itemId)
    {
        boolean b = true;
        ....
        m_list.setItemChecked(position, b);
    }
});

如果您正在使用ListView s,则需要在任何数据更改时从UI线程调用notifyDataSetChanged()。这将通过多次调用getView()来更新UI,具体取决于显示的项目数量。

确保您的getView()正确实现。

作为参考,我强烈建议查看和理解:http://www.youtube.com/watch?v=wDBM6wVEO70

相关内容

  • 没有找到相关文章

最新更新