本人初学Android,今天研究到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" 4 android:layout_width="match_parent" 5 android:background="@drawable/list" 6 android:layout_height="wrap_content"> 7 8 <ImageView 9 android:id="@+id/ico" 10 android:layout_width="64dp" 11 android:layout_height="64dp" 12 android:background="@mipmap/ic_launcher"/> 13 <LinearLayout 14 android:layout_width="match_parent" 15 android:layout_height="wrap_content" 16 android:orientation="vertical"> 17 <TextView 18 android:id="@+id/biaoti" 19 android:layout_width="match_parent" 20 android:layout_height="wrap_content" 21 android:text="我是标题" 22 android:layout_marginTop="5dp" 23 android:textSize="22sp"/> 24 <TextView 25 android:id="@+id/content" 26 android:layout_marginTop="5dp" 27 android:layout_width="match_parent" 28 android:layout_height="wrap_content" 29 android:textSize="16sp" 30 android:text="我是项目信息"/> 31 </LinearLayout> 32 </LinearLayout>
上面代码的效果图如下,整体用的是一个Image,以及两个TextView
不好看就先凑合吧,测试用
接下来我们开始MainActivity.java
1 package yuntu.com.yuntu; 2 3 import android.support.v7.app.AppCompatActivity; 4 import android.os.Bundle; 5 import android.view.View; 6 import android.widget.AdapterView; 7 import android.widget.ListView; 8 import android.widget.SimpleAdapter; 9 import android.widget.TextView; 10 import android.widget.Toast; 11 import java.util.ArrayList; 12 import java.util.HashMap; 13 import java.util.List; 14 import java.util.Map; 15 16 public class MainActivity extends AppCompatActivity { 17 private ListView listView; 18 //声明标题 19 private String[] title = new String[]{ 20 "我是第1个Title", "我是第2个Title", "我是第3个Title", "我是第4个Title" 21 }; 22 //声明内容 23 private String[] content = new String[]{ 24 "我是第1个content", "我是第2个content", "我是第3个content", "我是第4个content" 25 }; 26 //声明图标 27 private int[] imgIds = new int[]{R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher,R.mipmap.ic_launcher}; 28 @Override 29 protected void onCreate(Bundle savedInstanceState) { 30 super.onCreate(savedInstanceState); 31 setContentView(R.layout.activity_main); 32 listView = (ListView) findViewById(R.id.list_item01); 33 List<Map<String, Object>> listitem = new ArrayList<Map<String, Object>>(); 34 for (int i=0;i<content.length;i++){ 35 Map<String, Object> map = new HashMap<String, Object>(); 36 map.put("ico",imgIds[i]); 37 map.put("title",title[i]); 38 map.put("content",content[i]); 39 listitem.add(map); 40 } 41 SimpleAdapter simpleAdapter = new SimpleAdapter(this,listitem,R.layout.main_list,new String[]{"title","content","ico"},new int[]{R.id.biaoti,R.id.content,R.id.ico}); 42 listView.setAdapter(simpleAdapter); 43 44 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 45 @Override 46 public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 47 TextView bt = (TextView) view.findViewById(R.id.biaoti); 48 TextView nr = (TextView) view.findViewById(R.id.content); 49 Toast.makeText(MainActivity.this, bt.getText() + "|" + nr.getText(), Toast.LENGTH_SHORT).show(); 50 } 51 }); 52 } 53 }
//本篇文章记录日常代码,希望也可以帮到需要的人
————鲨哒哒