为ListView添加适配器,使list可以显示一个ImageView和两个textview
来源:互联网 发布:sql replace 正则 编辑:程序博客网 时间:2024/05/01 21:49
首先定义主Actvity的显示布局XML文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<ListView
android:id="@+id/mylist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
></ListView>
</LinearLayout>
添加到列表中的每个元素都叫item,为每个item定义布局格式文件:simple_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
/>
<LinearLayout android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dp"
android:textColor="#f0f"
android:paddingLeft="10dp"
/>
<TextView
android:id="@+id/desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14dp"
android:paddingLeft="10dp"
/>
</LinearLayout>
</LinearLayout>
定义主testActivity,并添加监听器
public class SimpleAdapterTest extends Activity{
//测试列表适配器,列表中的每一项都是图像和两个textview
private String[] names=new String[]{"虎头","弄玉","李清照","李白"};
private String[] descs=new String[]{"可爱的女孩","一个擅长音乐的女孩","一个擅长文学的女性","浪漫主义诗人"};
private int[] imageIds=new int[]{R.drawable.tiger,R.drawable.nongyu,R.drawable.qingzhao,R.drawable.libai};
@Override
public void onCreate(Bundle saveInstanceState){
super.onCreate(saveInstanceState);
setContentView(R.layout.main);
List<Map<String, Object>> listItems=new ArrayList<Map<String,Object>>();
for (int i = 0; i < names.length; i++) {
Map<String, Object> listItem=new HashMap<String,Object>();
listItem.put("header", imageIds[i]);
listItem.put("personName", names[i]);
listItem.put("desc",descs[i]);
listItems.add(listItem);
}
SimpleAdapter simpleAdapter=new SimpleAdapter(this, listItems, R.layout.simple_item, new String[]{"personName","header","desc"}, new int[]{R.id.name,R.id.header,R.id.desc});
ListView list=(ListView)findViewById(R.id.mylist);
list.setAdapter(simpleAdapter);
//list.setOnItemClickListener(new OnItemClickListener() {
//
// @Override
// public void onItemClick(AdapterView<?> parent, View view, int position,
// long id) {
//
// Toast.makeText(SimpleAdapterTest.this, names[position]+"被点击了", Toast.LENGTH_LONG).show();
// }
//});
list.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
//Toast.makeText(SimpleAdapterTest.this, names[position]+"被选中",Toast.LENGTH_LONG).show();
System.out.println(names[position]+"被选中。。。。。");
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
}
}
- 为ListView添加适配器,使list可以显示一个ImageView和两个textview
- 为listView添加自定义适配器
- SpannableString,多个textview合为一个,还可以为TextView添加图片
- 封包显示Listview和Imageview
- Listview 有2个textview和1个imageview方法
- Android自定义可以随意拖动的ImageView和TextView
- TextView可以显示文字和图片
- 自定义ImageView显示图片为圆形,并可以设置光环
- android 构建 Drawable对象 TextView和ImageView一起显示
- ListView控件和如何向ListView控件添加数据适配器
- BaseAdapter适配器 添加数据 显示到ListView中
- 为ListView添加适配器时,出现空指针异常
- android如果重写onDraw实现一个类似TextView可以显示表情和链接的控件(一)
- android如果重写onDraw实现一个类似TextView可以显示表情和链接的控件(二)
- ListView中Title和content 布局,两个都显示就平分,显示一个就居中
- 怎么获取ListView和GridView适配器中item上TextView和ListView控件的值
- Android ListView 4 一个页面显示两个ListView
- 可以播放GIF和显示圆形图片的自定义ImageView
- (摘录)javascript笔试题
- 解决Fragment内点击穿透问题
- Java基础之面向对象(一)
- 破解/etc/rc.d/rc.local自己增加的指令不能启动的问题
- Linux中awk之getline命令
- 为ListView添加适配器,使list可以显示一个ImageView和两个textview
- OSPF定时器介绍
- 关于PCA算法的一点学习总结
- php生成订单号的解决方案
- Java源码解读:顶级父类Object
- 常用排序算法稳定性分析
- Java的内存机制
- 多线程情况下建议使用while而不是if
- Sublime - php 代码格式化插件