使用here中的代码遇到问题。当手机具有横向方向时,并非所有列表项都可见(假设我只看到5个中的3个)。当我向下滚动到第4和第5个元素时,我再次看到两个第一个元素(即1,2,3,1,1)。在一些滚动动作之后,我得到了更有趣的混音(如2,3,1,2,1)等等。
代码与链接中的代码一样,我更改的所有内容都没有解决问题。怎么了?
提前致谢
2Rajath 谢谢您的简单示例,但我不能将其应用于我的案例。请看看
@Override
public View getView(final int position, View convertView, ViewGroup parent){
View row;
if(convertView == null){
row = mInflater.inflate(R.layout.custom_list_preference_row, parent, false);
} else {
row = convertView;
}
CustomHolder holder = new CustomHolder(row, position);
row.setTag(holder);
return row;
}
创建CustomHolder对象时,它会在setId()方法中抛出NullPointer异常
class CustomHolder
{
private RadioButton rButton = null;
CustomHolder(View row, int position){
rButton = (RadioButton)row.findViewById(R.id.custom_list_view_row_radio_button);
rButton.setId(position);
rButtonList.add(rButton);
}
}
您能解释一下如何使这段代码有效吗?
答案 0 :(得分:0)
[基于更新编辑]
设置的ID可能与其他ID相冲突。看看这是否有用 - Android: View.setID(int id) programmatically - how to avoid ID conflicts?。