观看了慕课网的ListView相关视频 总结出如下笔记 还望指正
ListView的使用:
1, 在总布局中添加ListView控件 id为listView
2, 创建一个新的布局,命名为list_View添加imageView 和TextView
3, 声明全局变量 ListView、SimpleAdapter、List<Map<String,Object>>
4, 创建数组 一一对应
5, Listview找到ID
6, 创建simpleAdapter适配器
上下文this
数据源List<Map<String,Object>>
列表项的布局文件R.layout.list_view
记录Map中的键名 newString[]{“pic”,”text”}
绑定数据视图中的ID newint[]{R.id.pic,R.id.text}
1. 编辑 private List<Map<String,Object>>getData方法
for(int i=0;i<6;i++){
Map<String,Object> map=new HashMap<String,Object>();
map.put("img",image[i]);
map.put("str",string[i]);
datalist.add(map);
}
return datalist;
源代码如下:
MainActivity.javal文件
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
private ListView listView;
private SimpleAdapter simpleAdapter;
private List<Map<String,Object>> datalist;
int[] image={R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher};
String[] string={"bomb1","bomb2","bomb3","bomb4","bomb5","bomb6"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
datalist=new ArrayList<Map<String, Object>>();;
listView=(ListView)findViewById(R.id.listView);
simpleAdapter=new SimpleAdapter(this,getDatalist(),R.layout.main,new String[]{"img","str"},
new int[]{R.id.imageView,R.id.textView});
listView.setAdapter(simpleAdapter);
}
public List<Map<String, Object>> getDatalist() {
for(int i=0;i<6;i++){
Map<String,Object> map=new HashMap<String,Object>();
map.put("img",image[i]);
map.put("str",string[i]);
datalist.add(map);
}
return datalist;
}
}
activity_main.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
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.air1997.mysimpleadaptertest.MainActivity">
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listView"
></ListView>
</RelativeLayout>
main.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="match_parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@mipmap/ic_launcher"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView"
android:text="bomb1"/>
</LinearLayout>
输出效果如下: