观看了慕课网的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>输出效果如下: