2012-10-26 73 views
1

我已经编写了代码以从数据库获取值并将该值绑定到listview.For为此我现在根据需求使用了自定义列表视图我希望复选框为我的每个项目在list.How做为了实现自定义列表视图的复选框

image=(ImageView)findViewById(R.id.image); 
     note=(ImageButton)findViewById(R.id.note); 
     tick=(ImageButton)findViewById(R.id.tick); 
     cross=(ImageButton)findViewById(R.id.cross); 
     Intent intent = getIntent(); 
     Bitmap photo = (Bitmap) intent.getParcelableExtra("photooo"); 
     image.setImageBitmap(photo); 
     if(photo!=null) 
     { 
      dbHelper = new RecordsDbAdapter(this); 
      dbHelper.open(); 
      displayListView(); 
     } 

    } 
    private void displayListView() { 
     Cursor cursor = dbHelper.fetchAllRecords(); 
     String[] columns = new String[] { 
       RecordsDbAdapter.KEY_NAME, 
       RecordsDbAdapter.KEY_BIRTHDAY, 

     }; 
     int[] to = new int[] { 
       R.id.name, 
       R.id.birthdate, 
     }; 
     dataAdapter = new SimpleCursorAdapter(
       this, R.layout.row, 
       cursor, 
       columns, 
       to); 
     ListView listView = (ListView) findViewById(R.id.list); 
     listView.setAdapter(dataAdapter); 
    } 
} 

回答

1

像你以前去R.layout.row的XML文件,并把这段代码完成的:

<CheckBox 
    android:id="@+id/checkbox" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerVertical="true" 
    android:text="checkbox" /> 

,然后编辑你这样的代码: -

private void displayListView() { 
    Cursor cursor = dbHelper.fetchAllRecords(); 
    String[] columns = new String[] { 
      RecordsDbAdapter.KEY_NAME, 
      RecordsDbAdapter.KEY_BIRTHDAY, 
      RecordsDbAdapter.KEY_CHECKBOX 

    }; 
    int[] to = new int[] { 
      R.id.name, 
      R.id.birthdate, 
      R.id.checkbox 
    }; 
    dataAdapter = new SimpleCursorAdapter(
      this, R.layout.row, 
      cursor, 
      columns, 
      to); 
    ListView listView = (ListView) findViewById(R.id.list); 
    listView.setAdapter(dataAdapter); 
} 
5
  • 使用LayoutInflater添加复选框使用SetTag梅索德后到列表视图
  • 添加Tagvalue到复选框
  • 这tagvalue独立的复选框中的每一项在列表视图 下面的代码示例:`

LayoutInflater inflater = getLayoutInflater();

convertView = inflater.inflate(R.layout.home1, null); 

ViewHolder holder1 = new ViewHolder(); holder1.text =(TextView)convertView.findViewById(R.id.textView1);

holder1.ch=(CheckBox)convertView.findViewById(R.id.checkBox1); 
    holder1.ch .setTag(position); 
相关问题