qq_20492635 2016-10-30 11:59 采纳率: 0%
浏览 891

安卓listView 和BaseAdapter的问题

为什么我只点击了前面几项,往下滑动,checkbox下面却自动点击了,而且TextView也只有部分数据显示到当前屏幕,往下滑动时,却重复之前的数据?

图片说明
public class MainActivity extends AppCompatActivity {
ListView listView;
List studentList = new ArrayList();

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    listView = (ListView) findViewById(R.id.listv);
    listView.setAdapter(new MyAdapter());
    Student student;
   for (int i=0;i<30;i++){
       student = new Student("Tom"+i,10+i);

       studentList.add(student);
   }
}
class MyAdapter extends BaseAdapter{

    @Override
    public int getCount() {
        return studentList.size();
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        final Student student = studentList.get(position);
        View view = null;
        if (convertView ==null){
            view = View.inflate(MainActivity.this,R.layout.checkbox_layout,null);

        }else{
            view = convertView;

        }
                final CheckBox checkBox1 = (CheckBox) view.findViewById(R.id.cb1);
                final TextView textView = (TextView) view.findViewById(R.id.textinfo);
        //textView.setText(student.toString());

        checkBox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                    @Override
                    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                        if (isChecked){
                            textView.setText(student.toString());
                        }
                    }
                });

        return view;
    }
}

}

  • 写回答

3条回答 默认 最新

  • devmiao 2016-10-31 01:06
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符