首先创建一个简单的类
public class Xx {
private String title; private int imageId; public Xx(String title, int imageId) { this.title = title; this.imageId = imageId; } public String getTitle() { return title; } public int getImageId() { return imageId; } }
-----------------------------------------------------------
创建父项活动布局 同时为启动活动main
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="match_parent"/> </LinearLayout>
--子活动布局
<?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:id="@+id/xx_image" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/xx_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="10dp" /> </LinearLayout>
--------------------------------------------------------
主活动
public class XX_Activity extends AppCompatActivity { private List<Xx> xx=new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.xx_layout); initXX(xx);//init ((ListView)findViewById(R.id.list_view)).setAdapter(new XXAdapter(XX_Activity.this,R.layout.XX_item_layout,xx)); } private static void initXX(List<Xx> xxList){ for (int i = 0; i < 10; i++){ xx.add(new Xx("1",R.drawable.xx_pic)); } } }
--------------适配器------------------------
public class XXAdapter extends ArrayAdapter<Xx>{ private int resourceId; public XXAdapter(Context context, int textViewResourceId, List<Xx> objects) { super(context, textViewResourceId,objects); resourceId=textViewResourceId; } private static final String TAG = "XxAdapter"; @Override public View getView(int position, View convertView, ViewGroup parent) { View view= LayoutInflater.from(getContext()).inflate(resourceId,parent,false); ((ImageView)view.findViewById(R.id.xx_image)).setImageResource(getItem(position).getImageId()); ((TextView)view.findViewById(R.id.xx_name)).setText(getItem(position).getName()); return view; }
-------------------------代码照抄运行估计不对,错误就看天份咯