0

使用此处的代码遇到问题。当手机为横向时,并非所有列表项都可见(假设我只看到 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);
    }
}

你能解释一下如何使这段代码工作吗?

4

1 回答 1

0

[根据更新编辑]

设置的 id 可能与其他一些 id 冲突。看看这是否有帮助 - Android: View.setID(int id) programmatically - 如何避免 ID 冲突?.

于 2011-03-25T12:03:03.860 回答