ListView用CHOICE_MODE_MULTIPLE属性实现多选
2015-07-30 15:41
363 查看
效果图:
适配器:
public class CrazyAdapter extends BaseAdapter { private Context mContext; private List<String> mList; public CrazyAdapter(Context mContext, List<String> mList) { this.mContext = mContext; this.mList = mList; } @Override public int getCount() { return mList.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) { ViewHolder holder = null; if (convertView == null) { convertView = LayoutInflater.from(mContext).inflate(R.layout.item_list, null); holder = new ViewHolder(); holder.view = (TextView) convertView.findViewById(R.id.tv_city); holder.box = (CheckBox) convertView.findViewById(R.id.rb_view); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.view.setText(mList.get(position)); holder.box.setChecked(((ListView) parent).isItemChecked(position)); return convertView; } public final class ViewHolder { private TextView view; private CheckBox box; } }
页面代码:
public class ListViewActivity extends Activity { private ListView mListView; private List<String> mList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list); mListView = (ListView)findViewById(R.id.ls_view); String[] mStrs = {"芥川龙之介", "三岛由纪夫", "川端康成", "村上春树", "东野圭吾", "张爱玲", "金庸", "钱钟书", "老舍", "梁实秋", "亨利米勒", "海明威", "菲兹杰拉德", "凯鲁亚克", "杰克伦敦", "小仲马", "杜拉斯", "福楼拜", "雨果", "巴尔扎克", "莎士比亚", "劳伦斯", "毛姆", "柯南道尔", "笛福"}; mList = Arrays.asList(mStrs); final CrazyAdapter mAdapter = new CrazyAdapter(this, mList); mListView.setAdapter(mAdapter); mListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { mAdapter.notifyDataSetChanged(); } }); } }
相关文章推荐
- JS动态加载JS与CSS文件
- [ubuntu入门手册]-6-如何安装VMware Workstation for Linux
- 计数排序——JAVA实现
- Docker 数据管理
- Redis异常JedisConnectionException:Read timed out
- POJ-2342::Anniversary party-树形DP
- Activiti的简单入门例子(经典的请假例子)
- ViewDragHelper详解
- C++学习笔记(二)
- 【effective c++读书笔记】【第2章】构造/析构/赋值运算(1)
- [XCode] Interface Builder 是怎么工作的
- 虚拟现实及增强现实(眼镜或头盔)现状与未来-基本介绍
- phpmyadmin 连接外部数据库
- 【effective c++读书笔记】【第2章】构造/析构/赋值运算(1)
- 让VC调试器正确显示UTF-8字符串
- Android中的BACK键的代码实现
- iis7.5 post 参数长度
- Android中简单的Button设计
- vim使用大全[转]
- Android HandlerThread 完全解析