listView页面布局:layout/activity_main.xml:

<RelativeLayout 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: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="com.example.day_05_02.MainActivity" >


<ListView
android:id="@+id/lvGenerals"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="#ccc"
android:dividerHeight="10dp"
/>
</RelativeLayout>

该布局下的java代码 :

package com.example.day_05_02;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;






import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;


public class MainActivity extends ActionBarActivity {
private ListView lvGenerals;//listView对象
private List<Map<String,Object>> generals;//要显示数据的集合
private final String ImageSource = "imageSource";//map中key的值
private final String GeneralName = "name";//map中key的值
private BaseAdapter generalAdapter;//适配器
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initData();
initView();
}
private void initData() {
// TODO Auto-generated method stub
//初始化要显示的数据集合
generals = new ArrayList<Map<String,Object>> ();
//初始化图片资源
int [] images = {
R.drawable.baiqi,R.drawable.caocao,R.drawable.chengjisihan,
R.drawable.hanxin,R.drawable.lishimin,R.drawable.nuerhachi,
R.drawable.sunbin,R.drawable.sunwu,R.drawable.yuefei,
R.drawable.zhuyuanzhang
};
//初始化文字资源
String [] names = getResources().getStringArray(R.array.generals);
//把图片和文字资源放到一个map中,然后再把该map加到generals这个list之中
for(int i=0;i<names.length;i++){
Map<String,Object> general = new HashMap<String,Object>();
general.put(ImageSource, images[i]);
general.put(GeneralName, names[i]);
generals.add(general);

}
}
private void initView() {
// TODO Auto-generated method stub
lvGenerals = (ListView) findViewById(R.id.lvGenerals);
//初始化适配器

//重点解释第一个参数是要显示的布局所在的activity对象,第二个参数是要显示数据的集合对象,第三个是指用于适配的布局页面,

//第四个是指map中的key值,第五个值是指适配布局页面和map中value对应上的布局控件
generalAdapter = new SimpleAdapter(this, generals,
R.layout.activity_general_,
new String[]{ImageSource,GeneralName} , new int[]{R.id.ivTumb,R.id.tvName});
//设置适配器
lvGenerals.setAdapter(generalAdapter);
}




}

适配页面布局:layout/activity_general_.xml

<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">


<ImageView
android:id="@+id/ivTumb"
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/baiqi"

/>
<TextView
android:id="@+id/tvName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="白起"/>


</LinearLayout>

String字符串资源:values/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>


<string name="app_name">Day_05_02</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string name="title_activity_general_">General_Activity</string>
<string-array name="generals">
<item>白起</item>
<item>曹操</item>
<item>成吉思汗</item>
<item>韩信</item>
<item>李世民</item>
<item>努尔哈赤</item>
<item>孙膑</item>
<item>孙武</item>
<item>朱元璋</item>
<item>岳飞</item>
</string-array>
</resources>

效果:


更多相关文章

  1. android之ArrayAdaper之Spinner
  2. android跳转到卸载页面
  3. android - 购物车页面【仿】京东App
  4. Android使用控件Spinner实现下拉菜单列表
  5. Android刷新页面
  6. Android简单的Fragment嵌套Fragment(Viewpager+Fragement)
  7. android cmd
  8. Activity基类广播退出APP
  9. android ViewPager学习笔记1

随机推荐

  1. android 滑动动画效果
  2. AndClear - Android Clean-up Management
  3. Android ViewPager实现左右滑动翻页
  4. Android 创建没有标题栏的对话框
  5. unity与android交互(1)
  6. Android property-animation 占CPU偏高
  7. Android Training - 使用IntentService执
  8. Android配置gradle 阿里云镜像
  9. Android SpannableString使用例子
  10. Android 加载图片并存放在缓存中