1、增加类 Obj.java
package com.nndou.yy.listviewtest; import android.graphics.drawable.Drawable; /** * Created by yuecaili on 16/6/30. */public class Obj { private String name; private String des; public Obj(String name,String des){ this.name = name; this.des = des; } public String getName(){ return name; } public String getDes(){ return des; } }
2、增加 ObjAdapter.java 类
package com.nndou.yy.volleytest02; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.TextView; import java.util.List; /** * Created by yuecaili on 16/7/6. */ public class ObjAdapter extends ArrayAdapter<Obj> { private int resourceId; public ObjAdapter(Context context, int resource,List<Obj> objs) { super(context, resource,objs); resourceId = resource; } @Override public View getView(int position, View convertView, ViewGroup parent) { Obj obj = getItem(position); View view; if(convertView == null){ view = LayoutInflater.from(getContext()).inflate(resourceId, null); }else{ view = convertView; } final TextView objName = (TextView) view.findViewById(R.id.obj_name); final TextView objDes = (TextView) view.findViewById(R.id.obj_des); objName.setText(obj.getName()); objDes.setText(obj.getDes()); return view; } }
3、增加 raw.xml 文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="40dp" android:text="New Text" android:id="@+id/obj_name" android:layout_marginLeft="10dp" android:gravity="center" /> <TextView android:layout_width="wrap_content" android:layout_height="40dp" android:text="New Text" android:id="@+id/obj_des" android:layout_marginLeft="10dp" android:gravity="center" /> </LinearLayout>
4、在主xml文件增加listview
<ListView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/listView" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" />
5、增加相关代码
private String [] data = {"a","b","c","d","a","b","c","d","a","b","c","d","a","b","c","d"};
ArrayAdapter<String> adapter= new ArrayAdapter<String>( getApplicationContext(),R.layout.test ,data ); ListView lv = (ListView)findViewById(R.id.listView); lv.setAdapter(adapter);
6、Obj相关代码
private List<Obj> objList = new ArrayList<Obj>();
initObj(); ObjAdapter objAdapter = new ObjAdapter(MainActivity.this,R.layout.raw,objList); ListView listView = (ListView) findViewById(R.id.listView); listView.setAdapter(objAdapter);
private void initObj(){ for(int i = 0;i<20;i++){ Obj obj = new Obj("a","b"); objList.add(obj); } }