ListView用SimpleAdapter显示图片和文本
来源:互联网 发布:网络雅思课程 编辑:程序博客网 时间:2024/04/30 03:30
首先来看一下效果图:
我们希望用SinpleAdapter一行显示两列,
第一列显示一个图片(ImageView),
第二列显示文本(TextView),实际上是一个垂直布局的LinearLayout,里边两个TextView,
下面我们先看看一下布局文件:
Laout代码
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <!--图片显示--!> <ImageView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="match_parent" android:scaleType="center" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:orientation="vertical" > <!--第一个文本--!> <TextView android:id="@+id/textview1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="32sp" android:textColor="#00FF00" /> <!--第二个文本--!> <TextView android:id="@+id/textview2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp" android:textColor="#0000FF" /> </LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.homework2.MainActivity" > <ListView android:id="@+id/listview" android:layout_width="match_parent" android:layout_height="wrap_content"/></LinearLayout>
MainActivity代码
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //根据id找出ListView ListView listView = (ListView) findViewById(R.id.listview); //创建SimpleAdapter时需要传一个List<Map<Object,Object>>作为参数 List<Map<String,Object>> list = new ArrayList<Map<String, Object>>(); Map<String, Object> map1 = new HashMap<String, Object>(); //放进ImageView的资源 map1.put("icon", R.drawable.image1); //放进TextView的内容 map1.put("msg1", "G1"); map1.put("msg2", "Google"); list.add(map1); Map<String, Object> map2 = new HashMap<String, Object>(); map2.put("icon", R.drawable.image2); map2.put("msg1", "G2"); map2.put("msg2", "Google"); list.add(map2); //将资源和对应的布局控件显示出来 String[] from = {"icon","msg1","msg2"}; int[] to = {R.id.text1, R.id.textview1,R.id.textview2}; //new一个SimpleAdapter,将参数传进去 SimpleAdapter simpleAdapter = new SimpleAdapter(MainActivity.this, list , R.layout.linearlayout,from ,to); //将SimpleAdapter设置进ListView中 listView.setAdapter(simpleAdapter); //下面绑定监听器,通过Toast弹出被点击文本的内容 listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { if(view instanceof LinearLayout){ //获得一个view,实际上是一个LinearLayout View LinearLayout linearLayout1 = (LinearLayout) view; //LinearLayout的第二个子View也是一个LinearLayout View,是两个TextView View viewSub = linearLayout1.getChildAt(1); if(viewSub instanceof LinearLayout){ LinearLayout linearLayout2 = (LinearLayout) viewSub; //获得两个TextView的内容,并通过Toast弹出来 TextView tv1 = (TextView) linearLayout2.getChildAt(0); TextView tv2 = (TextView) linearLayout2.getChildAt(1); String msg = tv1.getText().toString() + "\n" + tv2.getText().toString(); Toast.makeText(MainActivity.this, msg, Toast.LENGTH_LONG).show(); } } } }); }
你有一个苹果,我有一个苹果,你我交换之后还是一个苹果。 你有一个思想,我有一个思想,你我交换之后却是二个思想。
希望大家能一起交流经验和思想
0 0
- ListView用SimpleAdapter显示图片和文本
- listview一起显示图片和文本的 源代码
- listview使用SimpleAdapter显示图片和文字
- 【Android开发学习29】界面控件之列表控件(ListView)--显示图片和文本
- 怎么混合显示图片和文本
- cxGrid单元格内显示图片和文本
- 使用 SimpleAdapter 显示listview
- 通过SimpleAdapter直接在ListView中显示图片
- SimpleAdapter显示网络图片
- Android开发系列:怎么混合显示图片和文本
- Android开发系列八:怎么混合显示图片和文本
- GridView实现图片和文本的简单显示一
- GridView实现图片和文本的简单显示二
- Android SimpleAdapter显示ListView、GridView
- Android SimpleAdapter显示ListView、GridView
- Android SimpleAdapter显示ListView、GridView
- Android SimpleAdapter显示ListView、GridView
- listview使用SimpleAdapter显示文字
- 使用crontab定时执行脚本时别忘了输出重定向>
- ubuntu下安装程序的三种方法
- 手工创建maven 项目
- Android Wear 报错:cannot connect to localhost:4444: 由于目标计算机积极拒绝,无法连接。 (10061)
- 使用Android Studio开发遇到的问题
- ListView用SimpleAdapter显示图片和文本
- noj 1059 搬寝室
- POJ 2674 Linear world(弹性碰撞)
- 深度学习框架Caffe在Mac上的安装和测试
- 验证码ocrking接口
- 1085. Perfect Sequence (25)
- Visual Studio 2013光标变成方块
- hdoj 5248 序列变换 【贪心 + 二分】
- sublime 编译java