1.在xml里面写一个listview (记得将水果图片放入drawable里面)
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
2.创建一个bean类
这里需要创建3个,水果图片,名称,价格
package com.example.main1;
import java.io.Serializable;
public class FruitBean implements Serializable {
private String fruitName;
private String fruitPrice;
private int fruitimg;
public FruitBean(String fruitName, String fruitPrice, int fruitimg) {
this.fruitName = fruitName;
this.fruitPrice = fruitPrice;
this.fruitimg = fruitimg;
}
public int getFruitimg() {
return fruitimg;
}
public String getFruitName() {
return fruitName;
}
public String getFruitPrice() {
return fruitPrice;
}
}
3.创建xml子布局
<?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"
android:orientation="horizontal"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:paddingTop="10dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:id="@+id/img"
android:layout_gravity="center"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center">
<TextView
android:id="@+id/fruitName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="香蕉"
android:gravity="center"
android:textSize="15sp"
android:textColor="#000"/>
<TextView
android:id="@+id/fruitPrice"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="价格"
android:gravity="center"
android:textSize="15sp"
android:layout_marginTop="20dp"
android:textColor="#000"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
4.创建BaseAdapter适配器
package com.example.main1;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import org.w3c.dom.Text;
import java.util.List;
public class FruitAdapter extends BaseAdapter {
private List<FruitBean> list;
private Context context;
public FruitAdapter(List<FruitBean> list, Context context) {
this.list = list;
this.context = context;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView==null){
convertView= LayoutInflater.from(context).inflate(R.layout.adapter_fruit,parent,false);
}
FruitBean bean=list.get(position);
ImageView img=convertView.findViewById(R.id.img);
TextView name=convertView.findViewById(R.id.fruitName);
TextView price=convertView.findViewById(R.id.fruitPrice);
img.setImageResource(bean.getFruitimg());
name.setText(bean.getFruitName());
price.setText(bean.getFruitPrice());
return convertView;
}
}
5.将数据填充到listview里面
package com.example.main1;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
public class FruitActivity extends AppCompatActivity {
private ListView list;
private List<FruitBean> data=new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fruit);
findCheck();
data.add(new FruitBean("菠萝","3元/斤",R.drawable.img1));
data.add(new FruitBean("葡萄","6元/斤",R.drawable.img2));
data.add(new FruitBean("李子","7元/斤",R.drawable.img3));
data.add(new FruitBean("番茄","2元/斤",R.drawable.img4));
data.add(new FruitBean("苹果","5元/斤",R.drawable.img5));
data.add(new FruitBean("橙子","4元/斤",R.drawable.img6));
data.add(new FruitBean("迷糊桃","2元/斤",R.drawable.img7));
data.add(new FruitBean("梨","10元/斤",R.drawable.img8));
data.add(new FruitBean("西瓜","12元/斤",R.drawable.img9));
list.setAdapter(new FruitAdapter(data,FruitActivity.this));
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
FruitBean bean=data.get(position);
Toast.makeText(FruitActivity.this, bean.getFruitName()+bean.getFruitPrice(), Toast.LENGTH_SHORT).show();
}
});
}
private void findCheck(){
list=findViewById(R.id.list);
}
}