首页 > 其他 > 详细

ViewHolder的使用

时间:2014-03-18 12:13:26      阅读:480      评论:0      收藏:0      [点我收藏+]

直接上代码- -

bubuko.com,布布扣
package com.example.viewholdtest;

import android.content.Context;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends ActionBarActivity {
    private Context context = this;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ListView lv = (ListView) findViewById(R.id.vhListView);
        MyListAdapter mla = new MyListAdapter(50);
        lv.setAdapter(mla);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    public class MyListAdapter extends BaseAdapter{
        private int num = 0;
        private LayoutInflater lf = LayoutInflater.from(context);

        public MyListAdapter(int num){
            this.num = num;
        }
        @Override
        public int getCount() {
            return num;
        }

        @Override
        public Object getItem(int i) {
            return null;
        }

        @Override
        public long getItemId(int i) {
            return i;
        }

        @Override
        public View getView(int i, View view, ViewGroup viewGroup) {
            ViewHolder vh;
            if(view == null){
                view = lf.inflate(R.layout.mylistview, null);
                vh = new ViewHolder();
                vh.num = (TextView) view.findViewById(R.id.num);
                vh.address = (TextView) view.findViewById(R.id.address);
                view.setTag(vh);
            }
            else{
                vh = (ViewHolder) view.getTag();
            }
            vh.num.setText(String.valueOf(i));
            vh.address.setText(view.toString());
            return view;
        }
    }

    public static class  ViewHolder{
        private TextView num;
        private TextView address;
    }
}
bubuko.com,布布扣

ViewHolder的使用,布布扣,bubuko.com

ViewHolder的使用

原文:http://www.cnblogs.com/yutoulck/p/3606246.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!