1.新建个安卓项目,点击res下的values目录,在该目录下创建一个名字为arrays.xml的Android xml文件,然后开始在里面写代码,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="arrays">
<item>ListView1</item>
<item>ListView2</item>
<item>ListView3</item>
<item>ListView4</item>
<item>ListView5</item>
<item>ListView7</item>
<item>ListView8</item>
<item>ListView9</item>
</string-array>
</resources>
2.然后再点击res下的layout目录,打开里面已有的activity_main.xml文件,再修改下布局文件,将其设置为垂直线性布局,再在里面添加一个ListView视图,代码如下:
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<ListView
android:id="@+id/listView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/arrays">
</ListView>
</LinearLayout>
3,此时我们运行模拟器就可以出现下图的ListView列表了:
4.是不是很简单啊,如果列表超出模拟器范围的话,会在右侧产生个滚动条,一向上拉它就会向下滚动,一到列表的末尾向下拉就会向上滚动!
5.接下来介绍一个比较难点显示的ListView,其中items.xml里面放了一个ImageView图像视图还有个TextView文本视图,再添加到ListView里面去,先在res下的layout目录下创建一个新的Android xml文件,取名为items.xml,然后添加ImageView和TextView,布局设置为水平线性布局,接下来附上代码:
<?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/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:maxWidth="72px"
android:minHeight="72px"
android:paddingBottom="20px"
android:paddingRight="10px"
android:paddingTop="20px" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="10px" />
</LinearLayout>
6.然后在res下的layout目录下activity_main.xml文件下修改代码,布局方式设置为垂直线性布局,里面添加个ListView控件,接下来附上布局文件的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<ListView
android:id="@+id/listView1"
android:layout_height="wrap_content"
android:layout_width="match_parent"/>
</LinearLayout>
7.接下来打开src下的Mainactivity.java文件,在里面添加代码,用于显示ListView中items项的ImageView图像视图和TextView文本视图,其中image01-image13的图片是我存放在drawable-hdpi目录下的,代码如下,其中有注释:
package com.example.qqlistview4;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView listview=(ListView)findViewById(R.id.listView1); //获取列表视图
int[]imageId=new int[]{R.drawable.img01,R.drawable.img02,R.drawable.img03,R.drawable.img04,R.drawable.img05,R.drawable.img06,R.drawable.img07,
R.drawable.img08,R.drawable.img09,R.drawable.img10,R.drawable.img11,R.drawable.img12,R.drawable.img13};//定义并初始化保存图片id的数组
String[] title=new String[]{"乔峰(丐帮帮主)","虚竹(逍遥派传人)","段誉(大理世子)","花无缺(移花接木)","郭靖(降龙十八掌)","杨过(独臂侠)","黄蓉(打狗棒法)","黄老邪(东邪)","小龙女(古墓里的一朵花)","欧阳锋(西毒)","一灯大师(南帝)","洪七公(北丐)","王重阳(中神通)"};
List<Map<String,Object>>listItems=new ArrayList<Map<String,Object>>(); //创建一个List集合
//通过for循环将图片id和列表项文字放到Map中,并添加到List集合中
for(int i=0;i<imageId.length;i++){
Map<String,Object>map=new HashMap<String,Object>(); //实例化map对象
map.put("image",imageId[i]);
map.put("title",title[i]);
listItems.add(map); //将map对象添加到List集合中
}
SimpleAdapter adapter=new SimpleAdapter(this,listItems,R.layout.items,new String[]{"title","image"},new int[]{R.id.title,R.id.image});//创建SimpleAdapter
listview.setAdapter(adapter); //将适配器与ListView关联
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
8.接下来运行模拟器,将此项目部署到模拟器上,可得到这样的ListView列表视图效果,如下图所示:
9.就这样,是不是有点像QQ好友列表一样啊,其中可以上下滚动。
10.以上内容,仅供参考学习,这是为我个人学习积累的东西,转载的话,请注明出处,写得不好,敬请见谅,如果里面有什么问题或者错误的,可以评论和发消息,我会及时改正,如有雷同,纯属巧合!哈哈,好了,不晚了,睡觉去了!