<?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="vertical">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="35dp"
android:background="#009688"
android:gravity="center"
android:text="购物清单"
android:textColor="#E91E63"
android:textSize="25sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<ListView
android:id="@+id/fruit_item"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
</LinearLayout>
package com.example.shoppinglist;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends Activity {
final List<Fruit> fruitList = new ArrayList<Fruit>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initFruits();
FruitAdapte adapter = new FruitAdapte(this,R.layout.item,fruitList);
ListView lv = (ListView)findViewById(R.id.fruit_item);
lv.setAdapter(adapter);
}
public void initFruits(){
Fruit orange = new Fruit("橙子","8.5元1斤",R.mipmap.orange);
fruitList.add(orange);
Fruit cherry = new Fruit("樱桃","40元1斤",R.mipmap.cherry);
fruitList.add(cherry);
Fruit grape = new Fruit("葡萄","5元1斤",R.mipmap.grape);
fruitList.add(grape);
Fruit durian = new Fruit("榴莲","50元1斤",R.mipmap.durian);
fruitList.add(durian);
Fruit mango = new Fruit("芒果","7元1斤",R.mipmap.mango);
fruitList.add(mango);
Fruit litchi = new Fruit("荔枝","15元1斤",R.mipmap.litchi);
fruitList.add(litchi);
Fruit guava = new Fruit("石榴","3元1斤",R.mipmap.guava);
fruitList.add(guava);
}
}
package com.example.shoppinglist;
public class Fruit {
private int imageId;
private String Name,Price;
public Fruit(String Name, String Price, int imageId) {
super();
this.imageId = imageId;
this.Name = Name;
this.Price = Price;
}
public int getImageId() {
return imageId;
}
public void setImageId(int imageId) {
this.imageId = imageId;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getPrice() {
return Price;
}
public void setPrice(String price) {
Price = price;
}
public Object getItem(int position){
return position;
}
}
package com.example.shoppinglist;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.List;
public class FruitAdapte extends ArrayAdapter {
int resourceId;
public FruitAdapte(Context context, int resource, List<Fruit> objects){
super(context, resource,objects);
resourceId=resource;
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
Fruit fruit = (Fruit)getItem(position);
View view = LayoutInflater.from(getContext()).inflate(resourceId,null);
ImageView iv = (ImageView)view.findViewById(R.id.imageView);
TextView tv = (TextView)view.findViewById(R.id.textName);
TextView pv = (TextView)view.findViewById(R.id.textPrice);
iv.setImageResource(fruit.getImageId());
tv.setText((CharSequence) fruit.getName());
pv.setText((CharSequence)fruit.getPrice());
return view;
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/imageView"
android:layout_width="100dp"
android:layout_height="100dp"
app:srcCompat="@mipmap/grape" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="100dp"
android:gravity="left|center_vertical"
android:orientation="vertical"
android:scrollbarSize="8dp">
<TextView
android:id="@+id/textName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="葡萄" />
<TextView
android:id="@+id/textPrice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="价格:5元1斤"
android:textSize="16sp" />
</LinearLayout>
</LinearLayout>