Android——ListView

1.ArryAdapter:

arry_adapter的layout文件:

1 <?xml version="1.0" encoding="utf-8"?>
2
3
4     <TextView xmlns:android="http://schemas.android.com/apk/res/android"
5         android:layout_width="match_parent"
6         android:layout_height="wrap_content"
7         android:textSize="20sp"
8     android:paddingTop="10dp"
9     android:paddingBottom="10dp"/>

activity_test6的layout文件:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:paddingBottom="@dimen/activity_vertical_margin"
 7     android:paddingLeft="@dimen/activity_horizontal_margin"
 8     android:paddingRight="@dimen/activity_horizontal_margin"
 9     android:paddingTop="@dimen/activity_vertical_margin"
10     tools:context="com.hanqi.testapp2.TestActivity6">
11
12     <ListView
13         android:layout_width="match_parent"
14         android:layout_height="match_parent"
15         android:id="@+id/lv_1"></ListView>
16 </LinearLayout>

java类:

 1 package com.hanqi.testapp2;
 2
 3 import android.os.Bundle;
 4 import android.support.v7.app.AppCompatActivity;
 5 import android.widget.ArrayAdapter;
 6 import android.widget.ListView;
 7
 8 public class TestActivity6 extends AppCompatActivity {
 9
10     ListView lv_1;
11     @Override
12     protected void onCreate(Bundle savedInstanceState) {
13         super.onCreate(savedInstanceState);
14         setContentView(R.layout.activity_test6);
15         ListView lv_1 = (ListView)findViewById(R.id.lv_1);
16
17         //1.数据集合  layout文件
18         String[] strings  = {"A1","A2","A3","A4","A5","A6","A7","A8","A9",
19                 "A1","A2","A3","A4","A5","A6","A7","A8","A9"};
20         //2.创建Adpter
21         ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,R.layout.arry_adapter,strings);
22         //3.绑定到ListView
23         lv_1.setAdapter(arrayAdapter);
24     }
25 }

效果图:

2.SimpleAdapter:

simple_adapter的layout文件:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:orientation="horizontal" android:layout_width="match_parent"
 4     android:layout_height="match_parent">
 5
 6     <ImageView
 7         android:layout_width="70dp"
 8         android:layout_height="70dp"
 9         android:src="@drawable/f1"
10         android:id="@+id/iv_2"/>
11     <LinearLayout
12         android:layout_width="0dp"
13         android:layout_height="match_parent"
14         android:orientation="vertical"
15         android:layout_weight="1"
16         android:layout_marginLeft="20dp"
17         android:gravity="center_vertical">
18         <TextView
19             android:layout_width="match_parent"
20             android:layout_height="wrap_content"
21             android:text="名字=aaa"
22             android:id="@+id/tv_7"/>
23         <TextView
24             android:layout_width="match_parent"
25             android:layout_height="wrap_content"
26             android:text="内容=aaa"
27             android:id="@+id/tv_8"/>
28     </LinearLayout>
29 </LinearLayout>

activity_test7的layout文件:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:paddingBottom="@dimen/activity_vertical_margin"
 7     android:paddingLeft="@dimen/activity_horizontal_margin"
 8     android:paddingRight="@dimen/activity_horizontal_margin"
 9     android:paddingTop="@dimen/activity_vertical_margin"
10     tools:context="com.hanqi.testapp2.TestActivity7">
11
12     <ListView
13         android:layout_width="match_parent"
14         android:layout_height="match_parent"
15         android:id="@+id/lv_2"></ListView>
16 </LinearLayout>

java类:

 1 package com.hanqi.testapp2;
 2
 3 import android.os.Bundle;
 4 import android.support.v7.app.AppCompatActivity;
 5 import android.widget.ListView;
 6 import android.widget.SimpleAdapter;
 7
 8 import java.util.ArrayList;
 9 import java.util.HashMap;
10 import java.util.List;
11 import java.util.Map;
12
13 public class TestActivity7 extends AppCompatActivity {
14
15     ListView lv_2;
16     @Override
17     protected void onCreate(Bundle savedInstanceState) {
18         super.onCreate(savedInstanceState);
19         setContentView(R.layout.activity_test7);
20         lv_2 = (ListView)findViewById(R.id.lv_2);
21         //1.数据集合  layout
22         List<Map<String,Object>> lm = new ArrayList<Map<String,Object>>();
23         Map<String,Object> map = new HashMap<String,Object>();
24         map.put("img",R.drawable.f1);
25         map.put("name","美食1");
26         map.put("content","美食1的介绍");
27         lm.add(map);
28
29         map = new HashMap<String,Object>();
30         map.put("img",R.drawable.f2);
31         map.put("name","美食2");
32         map.put("content","美食2的介绍");
33         lm.add(map);
34
35         map = new HashMap<String,Object>();
36         map.put("img",R.drawable.f3);
37         map.put("name","美食3");
38         map.put("content","美食3的介绍");
39         lm.add(map);
40
41         map = new HashMap<String,Object>();
42         map.put("img",R.drawable.f4);
43         map.put("name","美食4");
44         map.put("content","美食4的介绍");
45         lm.add(map);
46
47         map = new HashMap<String,Object>();
48         map.put("img",R.drawable.f5);
49         map.put("name","美食5");
50         map.put("content","美食5的介绍");
51         lm.add(map);
52
53         map = new HashMap<String,Object>();
54         map.put("img",R.drawable.f6);
55         map.put("name","美食6");
56         map.put("content","美食6的介绍");
57         lm.add(map);
58
59         map = new HashMap<String,Object>();
60         map.put("img",R.drawable.f8);
61         map.put("name","美食8");
62         map.put("content","美食8的介绍");
63         lm.add(map);
64
65         map = new HashMap<String,Object>();
66         map.put("img",R.drawable.f9);
67         map.put("name","美食9");
68         map.put("content","美食9的介绍");
69         lm.add(map);
70
71         map = new HashMap<String,Object>();
72         map.put("img",R.drawable.f10);
73         map.put("name","美食10");
74         map.put("content","美食10的介绍");
75         lm.add(map);
76         //数组 key的数组
77         String[]strings = {"img","name","content"};
78         int[]ids = {R.id.iv_2,R.id.tv_7,R.id.tv_8};
79         //2.创建Adapter
80         SimpleAdapter simpleAdapter = new SimpleAdapter(this,
81                 lm,R.layout.simple_adapter,strings,ids);
82         lv_2.setAdapter(simpleAdapter);
83     }
84 }

效果图:

时间: 2024-11-10 00:57:15

Android——ListView的相关文章

Android——ListView布局+适配器(三)

Android--ListView布局+适配器(三) package com.example.administrator.newstop; import android.os.Bundle; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import andro

Android——ListView多布局+适配器(二)

Android--ListView多布局+适配器(二) <span style="font-size:18px;">package com.example.administrator.newstop.entity; /** * Created by Administrator on 2016/8/4. */ public class News { private String title; private String pubDate; private int img; p

Android ListView复杂列表优化实践

原文:Android ListView复杂列表优化实践 很多社交App都不免会涉及到复杂的列表元素实现,一个列表上面可能大量的图片,不定长的评论列表,给手机端的程序员带来了不少的挑战.本文就是在实现复杂的列表滑动的情况下,利用已知的优化方法指导下的一次优化实践,旨在提升ListView的滑动流畅度,为用户带来良好的体验. 1:设计稿: 这是列表中可能出现的ItemView,有两种,但是又有许多相同的地方,比如一样有点赞的图片,评论等...其中,评论和点赞的数量是可变的. 2:使用一般布局带来的问

[转]Android ListView最佳处理方式,ListView拖动防重复数据显示,单击响应子控件

Android ListView最佳处理方式,ListView拖动防重复数据显示,单击响应子控件. 1.为了防止拖动ListView时,在列表末尾重复数据显示.需要加入 HashMap<Integer,View> lmap = new HashMap<Integer,View>();其中Integer为列表位置,View为子项视图,加入数据前首先if (lmap.get(position)==null) ,满足条件时,加入lmap.put(position, convertView

android listview级联三菜单选择地区,本地数据库sqlite级联地区,item选中不变色

前言:因为找了N多网上的资源都没有好的解决方案,别人都是只给思路没给具体源码,真TMD纠结,干嘛求别人,自己动手才是真,最痛恨那些所谓大牛的作风,给了点点代码就让别人去想,你让我们这种小白情何于堪!!!!!!此例是基于listview来实现本地sqlite实现的! 二话不说,程序猿求的是有图有真相有源码!大家下载后有什么问题可以找到本人:QQ508181017 核心代码如下 1.数据库操作类 package com.icq.demo.db; import java.util.ArrayList;

关于android:listview getChildAt 为空的解释

今天遇到了一个很奇怪的问题,我所设定的一个listview 有10个item,当我的 list.getCount 的数量对其进行for 循环的时候,当到第6个item的时候,得到的view对象却是null,这让我很费解,经过一番查询,明白了这个问题是怎么回事,与大家分享下: 如图片红框部分的listview部分.这其实涉及到android的listview控件的内存处理问题:当我们加载listview时,如果这个listview的数据量比较多,它是显示不完全的,但这时是否是所有的数据都已经加载?

android Listview分批加载+自动加载(附源码下载)

直接上代码,代码有注释: public class TestForListviewActivity extends Activity implements OnScrollListener { private ListView mListview = null; private View mFooterView; private PaginationAdapter mAdapter; private Handler handler=new Handler(); private boolean i

Android ListView常见属性问题

Question 1: listview在拖动的时候背景图片消失变成黑色背景.等到拖动完毕我们自己的背景图片才显示出来. 解决办法: xml中: android:scrollingCache="false"  或者 android:cacheColorHint="#00000000" 代码中: setScrollingCacheEnabled(false)  或者 setCacheColorHint(0)  或者setCacheColorHint(Color.TRA

Android——ListView与适配器

Android--ListView与适配器 1.抽屉布局  Drawer <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.

Android ListView 中的onItemClick方法中Intent 无法跳转的解决方案

I found this somewhere after googling There will be case that your custom list item doesn’t respond when you click…so what’s the reason and what’s the solution? Here several problems and solutions: 1. Scenario: list item layout contains CheckBox Prob