绘制ListView后更改外观/任何行视图的首选方法是更改ListView数据中的某些内容(传递到适配器中的对象数组),并确保在getView()中考虑该内容函数,然后通过调用重绘ListViewnotifyDataSetChanged();
编辑:虽然有办法做到这一点,如果你需要做到这一点,机会是做错了。虽然我可以考虑很少的边缘情况,但通常使用notifyDataSetChanged()和其他内置机制是一种方法。
编辑2:人们常犯的一个常见错误就是试图用自己的方式来回应用户点击/选择ListView中的一行,如本文的评论之一。有一种现有的方法可以做到这一点。这是如何做:mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
/* Parameters
parent: The AdapterView where the click happened.
view: The view within the AdapterView that was clicked (this will be a view provided by the adapter)
position: The position of the view in the adapter.
id: The row id of the item that was clicked. */
@Override
public void onItemClick(AdapterView> parent, View view, int position, long id) {
//your code here
}});
ListView具有许多内置功能,无需为简单的情况重新发明轮子。由于ListView扩展了AdapterView,您可以设置相同的监听器,例如OnItemClickListener,如上例所示。