当前位置: 代码迷 >> Android >> ListView里的每个item有两个textView跟一个checkBox
  详细解决方案

ListView里的每个item有两个textView跟一个checkBox

热度:59   发布时间:2016-04-28 08:03:39.0
ListView里的每个item有两个textView和一个checkBox
   我想做一个listview,这个listview里面的每一个Item有两个一个checkbox。listview如果只是放一个textview和一个checkBOX的时候就可以,但是如果我修改成两个就不行。下面是代码:
声明:此代码是模仿http://www.apkbus.com/android-18656-1-1.html里面的,个人觉得很好,新手可以一起学习。
   MainActivity类:
package com.example.checkbox;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends Activity {
TextView tv = null;
ListView lv = null;
TextView price = null;
String name[] = {"G1","G2","G3","G4","G5","G6"};
String priceStr[] ={"10","20","25","30","40","50"};
ArrayList <String> listStr = null;
private List<HashMap<String, Object>> list = null;
private MyAdapter adapter = null;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) this.findViewById(R.id.text);
price = (TextView) this.findViewById(R.id.item_price);
lv = (ListView) this.findViewById(R.id.listview);
showCheckBoxListView();

}

public void showCheckBoxListView(){
list = new ArrayList<HashMap<String,Object>>();
for(int i = 0;i<name.length;i++){
HashMap<String,Object> map = new HashMap<String,Object>();
map.put("item_tv", name[i]);
map.put("item_price", priceStr[i]);
map.put("item_cb", false);
list.add(map);

adapter = new MyAdapter(this,list,R.layout.list,new String[]{"item_tv","item_cb"},new int[]{R.id.item_tv,R.id.item_cb});
lv.setAdapter(adapter);
listStr = new ArrayList<String>();
lv.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View view,
int position, long arg3) {
ViewHolder holder = (ViewHolder) view.getTag();
  相关解决方案