<?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); } }
Fruit
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; } }
FruitAdapte
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; } }
item
<?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>