06-android入门_listview采用系统和自定义的方式实现item
2014-06-05 14:41
645 查看
1、环境的搭建
![](http://img.blog.csdn.net/20140605142628906?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdzaHVqdW45MjExMTI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2、方式一:系统的listView的布局的实现
首先在activity中的实现为:
在此同时,listView中的choiceMode的值也要作相应的改变(但是与效果无关):
实现时,只需要在getView()中实现:
return multipleChoice(position);
3、方式二:自定义的listView的布局
首先,在activity中的实现为:
在此之前,要新建一个list_item_user.xml来实现item中的布局:
4、实现的结果为:
方式一:
![](http://img.blog.csdn.net/20140605143932921?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdzaHVqdW45MjExMTI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
方式二:
2、方式一:系统的listView的布局的实现
首先在activity中的实现为:
// 单选 private View singleChoice(int position) { // 获取当前位置显示的对象 User entity = entities.get(position); // 创建出每个条目的控件对象 View v = View.inflate(MainActivity.this, android.R.layout.simple_list_item_single_choice, null); CheckedTextView tv = (CheckedTextView) v .findViewById(android.R.id.text1); // CheckBox tv=new CheckBox(MainActivity.this); // TextView tv=new TextView(MainActivity.this); tv.setText(entity.getUserName() + "-" + entity.getUserPhone()); tv.setHeight(40); return v; } // 多选 private View multipleChoice(int position) { // 获取当前位置显示的对象 User entity = entities.get(position); // 创建出每个条目的控件对象 View v = View.inflate(MainActivity.this, android.R.layout.simple_list_item_multiple_choice, null); CheckedTextView tv = (CheckedTextView) v .findViewById(android.R.id.text1); // CheckBox tv=new CheckBox(MainActivity.this); // TextView tv=new TextView(MainActivity.this); tv.setText(entity.getUserName() + "-" + entity.getUserPhone()); tv.setHeight(40); return v; }
在此同时,listView中的choiceMode的值也要作相应的改变(但是与效果无关):
<ListView android:id="@+id/lv_user" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:divider="#FF0000" android:dividerHeight="2dp" android:choiceMode="multipleChoice" android:layout_alignParentTop="true" > </ListView>
实现时,只需要在getView()中实现:
return multipleChoice(position);
3、方式二:自定义的listView的布局
首先,在activity中的实现为:
// 返回每个条目 @Override public View getView(int position, View convertView, ViewGroup parent) { // 系统定义的item布局 // 注意:对应的布局中choiceMode也要改变 // return singleChoice(position); // return multipleChoice(position); // 自定义item布局 User entity = entities.get(position); View v = View.inflate(MainActivity.this, R.layout.list_item_user, null); TextView tv_id = (TextView) v.findViewById(R.id.tv_id); TextView tv_name = (TextView) v.findViewById(R.id.tv_name); TextView tv_age = (TextView) v.findViewById(R.id.tv_age); TextView tv_phone = (TextView) v.findViewById(R.id.tv_phone); tv_id.setText("" + entity.getUserId()); tv_name.setText("姓名:" + entity.getUserName()); tv_age.setText("年龄:" + entity.getUserAge()); tv_phone.setText("电话:" + entity.getUserPhone()); return v; }
在此之前,要新建一个list_item_user.xml来实现item中的布局:
<TextView android:id="@+id/tv_id" android:layout_width="39dp" android:layout_height="56dp" android:gravity="center_vertical|center_horizontal" android:layout_x="0dp" android:layout_y="0dp" android:text="1" android:textAppearance="?android:attr/textAppearanceLarge" /> <TextView android:id="@+id/tv_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_x="56dp" android:layout_y="4dp" android:text="姓名:zs" /> <TextView android:id="@+id/tv_age" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_x="56dp" android:layout_y="25dp" android:text="年龄:22" /> <TextView android:id="@+id/tv_phone" android:layout_width="173dp" android:layout_height="31dp" android:layout_x="129dp" android:layout_y="10dp" android:text="电话:12345678765" />
4、实现的结果为:
方式一:
方式二:
相关文章推荐
- 06_android入门_采用HttpURLConnection的POST方式实现登陆案例
- 无废话Android之listview入门,自定义的数据适配器、采用layoutInflater打气筒创建一个view对象、常用数据适配器ArrayAdapter、SimpleAdapter、使用ContentProvider(内容提供者)共享数据、短信的备份、插入一条记录到系统短信应用(3)
- 06_android入门_采用HttpURLConnection的POST方式实现登陆案例
- 09_android入门_采用android-async-http开源项目的GET方式或POST方式实现登陆案例
- Android 自定义Adapter以实现自定义填充ListView的Item
- Android基础入门教程——2.4.8 ListView Item多布局的实现
- android入门_采用android-async-http开源项目的GET方式或POST方式实现登陆案例
- Android实现仿网易今日头条等自定义频道listview 或者grideview等item上移到另一个view中
- Android入门教程四十一之ListView Item多布局的实现
- android入门_采用HttpClient的POST方式、GET方式分别实现登陆案例
- 09_android入门_采用android-async-http开源项目的GET方式或POST方式实现登陆案例
- Android ListView item 选中高亮显示之高效实现方式
- Android中ListView同过自定义布局并使用SimpleAdapter的方式实现数据的绑定
- 09_android入门_采用android-async-http开源项目的GET方式或POST方式实现登陆案例
- (Android学习之路)Android中listView结合自定义适配器,并实现item中button点击事件
- AndrowListView实现(自定义游戏列表)防止屏幕闪烁,设置分割线android中不推荐的方法,要考虑向下兼容,用了推荐的新方法,可能不兼容旧版本系统的手机
- Android之Listview(item为单选题)自定义adapter,像考试时前面的10几道单选题的实现
- 07_android入门_listView的几种Adaptor的实现_自定义的adaptor
- android入门_采用android-async-http开源项目的GET方式或POST方式实现登陆案例
- Android中ListView的自定义Adapter监听Item中Button,实现跳转到一个新的Activity