ListView

来源:互联网 发布:热敏打印纸软件 编辑:程序博客网 时间:2024/06/10 16:22
package com.example.third_code;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;/** * @author HD * @date 2015-11-29 * @package_name com.example.third_code * @file_name MainActivity.java */public class MainActivity extends Activity {    private List<Fruit> list = new ArrayList<Fruit>();    private FruitAdapter adapter;    private ListView listView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        listView = (ListView) findViewById(R.id.listView);        initFruit();        adapter = new FruitAdapter(MainActivity.this, R.layout.fruit_layout,                R.id.textView, list);        listView.setAdapter(adapter);        listView.setOnItemClickListener(new OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> parent, View view,                    int position, long id) {                // TODO 自动生成的方法存根                Log.i("hhhd", "view.getid = " + view.getId());                Log.i("hhhd", "id is" + id);                Fruit fruit = list.get(position);                Toast.makeText(MainActivity.this, fruit.getName(),                        Toast.LENGTH_SHORT).show();            }        });    }    void initFruit() {        Fruit Apple = new Fruit("Apple", R.drawable.ic_1);        Fruit Banana = new Fruit("Banana", R.drawable.ic_2);        Fruit Orange = new Fruit("Orange", R.drawable.ic_3);        Fruit Watermelon = new Fruit("Watermelon", R.drawable.ic_4);        Fruit Pear = new Fruit("Pear", R.drawable.ic_5);        Fruit Grape = new Fruit("Grape", R.drawable.ic_6);        Fruit Pineapple = new Fruit("Pineapple", R.drawable.ic_7);        Fruit Strawberry = new Fruit("Strawberry", R.drawable.ic_8);        Fruit Cherry = new Fruit("Cherry", R.drawable.ic_9);        Fruit Mango = new Fruit("Mango", R.drawable.ic_10);        Fruit pomelo = new Fruit("pomelo", R.drawable.ic_11);        Fruit starfruit = new Fruit("starfruit", R.drawable.ic_12);        Fruit muskmelon = new Fruit("muskmelon", R.drawable.ic_13);        Fruit durian = new Fruit("durian", R.drawable.ic_14);        Fruit pineapple = new Fruit("pineapple", R.drawable.ic_15);        Fruit grape = new Fruit("grape", R.drawable.ic_16);        Fruit Kiwifruit = new Fruit("Kiwifruit", R.drawable.ic_17);        Fruit MyFruit = new Fruit("Kiwifruit", R.drawable.ic_18);        list.add(Apple);        list.add(Banana);        list.add(Orange);        list.add(Watermelon);        list.add(Pear);        list.add(Grape);        list.add(Pineapple);        list.add(Strawberry);        list.add(Cherry);        list.add(Mango);        list.add(pomelo);        list.add(starfruit);        list.add(muskmelon);        list.add(durian);        list.add(pineapple);        list.add(grape);        list.add(Kiwifruit);        list.add(MyFruit);    }    public class FruitAdapter extends ArrayAdapter<Fruit> {        private int resourceId;        public FruitAdapter(Context context, int resource,                int textViewResourceId, List<Fruit> objects) {            super(context, resource, textViewResourceId, objects);            this.resourceId = resource;        }        @Override        public View getView(int position, View convertView, ViewGroup parent) {            // TODO 自动生成的方法存根            View view;            Fruit fruit = getItem(position);            ViewHolder holder = new ViewHolder();            if (convertView == null) {                view = LayoutInflater.from(getContext()).inflate(resourceId,                        null);                holder.imageview = (ImageView) view                        .findViewById(R.id.imageView);                holder.textView = (TextView) view.findViewById(R.id.textView);                view.setTag(holder);                Log.i("hhhd", "convertView isnot used");            } else {                view = convertView;                holder = (ViewHolder) view.getTag();                Log.i("hhhd", "convertView is used");            }            holder.imageview.setImageResource(fruit.getImageResouceId());            holder.textView.setText(fruit.getName());            return view;        }        class ViewHolder {            ImageView imageview;            TextView textView;        }    }}
package com.example.third_code;/** * @author HD * @date 2015-11-29 * @package_name com.example.third_code * @file_name Fruit.java */public class Fruit {    private String name;    private int imageResouceId;    public Fruit(String name, int imageResouceId) {        // TODO 自动生成的构造函数存根        this.name = name;        this.imageResouceId = imageResouceId;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getImageResouceId() {        return imageResouceId;    }    public void setImageResouceId(int imageResouceId) {        this.imageResouceId = imageResouceId;    }}

/third_code/res/layout/activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.example.third_code.MainActivity" >    <ListView        android:id="@+id/listView"        android:layout_width="match_parent"        android:layout_height="match_parent" >    </ListView></RelativeLayout>

/third_code/res/layout/fruit_layout.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" >    <ImageView         android:id="@+id/imageView"        android:layout_width="wrap_content"        android:layout_height="wrap_content"/>    <TextView         android:id="@+id/textView"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="center"/></LinearLayout>
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.example.third_code"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="14"        android:targetSdkVersion="21" />    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <activity            android:name=".MainActivity"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application></manifest>
0 0