我在android中有一个包含24个项目的listview,其中7个在活动开始时可见。我希望能够突出显示任何单击行的背景,同时取消突出显示以前选定的行。以下是我到目前为止的情况:
@Override
public void onItemClick(AdapterView<?> parent, View view, int newPosition, long id) {
selectedView(oldPosition).setBackgroundColor(Color.TRANSPARENT);
oldPosition = newPosition
selectedView(newPosition).setBackgroundColor(getResources().getColor(R.id.selected)
}
public View selectedView(int selection){
View selectedView = listview.getChildAt(selection);
return selectedView;
}
这很棒!但仅限于前7行...当我尝试单击屏幕上一次关闭的行时,getChildAt()返回null。我知道getChildAt(i)只获取可见行的视图,但是一旦视图变为可见,它将返回null。告诉应用程序列表视图项目现在可见,我需要做什么?我也对您在实施中看到的任何其他警告感兴趣。