使用BaseAdapter制作图2的ListView
- 效果图
MainActivity.java
package com.example.listview;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private String[] titles = {
"毡帽系列","蜗牛系列","小蜜蜂系列",
"毡帽系列","蜗牛系列","小蜜蜂系列"};
private String[] descs = {
"此系列服装有点cute,像不像小车夫。",
"宝宝变成了蜗牛,爬啊爬啊","小蜜蜂,啪哨,飞到西,飞到东",
"此系列服装有点cute,像不像小车夫。",
"宝宝变成了蜗牛,爬啊爬啊","小蜜蜂,啪哨,飞到西,飞到东"};
private int[] ivs = {
R.drawable.a,R.drawable.b,R.drawable.c,
R.drawable.a,R.drawable.b,R.drawable.c};
private ListView mlistView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mlistView = (ListView)findViewById(R.id.mlistView);
MyBaseAdapter myBaseAdapter = new MyBaseAdapter();
mlistView.setAdapter(myBaseAdapter);
}
class MyBaseAdapter extends BaseAdapter{
@Override
public int getCount() {
return titles.length;
}
@Override
public Object getItem(int i) {
return titles[i];
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View convertview, ViewGroup viewGroup) {
View view = View.inflate(MainActivity.this,R.layout.list_item,null);
TextView title = (TextView) view.findViewById(R.id.title);
TextView desc = (TextView) view.findViewById(R.id.desc);
ImageView iv = (ImageView) view.findViewById(R.id.iv);
title.setText(titles[i]);
desc.setText(descs[i]);
iv.setBackgroundResource(ivs[i]);
return view;
}
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/mlistView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="#cbcbcb"
android:dividerHeight