1. 程式人生 > 實用技巧 >劍指offer41-和為S的連續正數序列

劍指offer41-和為S的連續正數序列

<?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 annona squamosa = new Fruit("釋迦果","20元1斤",R.mipmap.annona squamosa);
        fruitList.add(annona squamosa);
        Fruit apple= new Fruit("蘋果","5元1斤",R.mipmap.apple);
        fruitList.add(apple);
        Fruit banana = new Fruit("香蕉","9元1斤",R.mipmap.banana);
        fruitList.add(banana);
        Fruit strawberry = new Fruit("草莓","30元1斤",R.mipmap.strawberry );
        fruitList.add(strawberry );
        Fruit orange= new Fruit("橙子","10元1斤",R.mipmap.orange);
        fruitList.add(orange);
        Fruit watermelon = new Fruit("西瓜","20元1斤",R.mipmap.watermelon);
        fruitList.add(watermelon);
        Fruit hami melon= new Fruit("哈密瓜","15元1斤",R.mipmap.hami melon);
        fruitList.add(hami melon);

    }
}
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="價格:30元1斤"
            android:textSize="16sp" />
    </LinearLayout>

</LinearLayout>