2015年2月16日 星期一

extends BaseAdapter

http://iamshiao.blogspot.tw/2010/12/androidbaseadapterlistview.html

public class NewsListAdapter extends BaseAdapter {

    private String tag =this.getClass().getSimpleName();
    private LayoutInflater inflater;
    private ArrayList<News> newses;

    private ViewHolder holder;
    public NewsListAdapter(Context context,ArrayList<News> newses){
        inflater = LayoutInflater.from(context);
        this.newses=newses;
    }

    @Override
    public int getCount() {
        return newses.size();
    }

    @Override
    public Object getItem(int position) {
        return newses.get(position);
    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {



        if (convertView==null){
            convertView = inflater.inflate(R.layout.newslistadapter, parent,false);
            holder = new ViewHolder();
            holder.tvtitle = (TextView) convertView.findViewById(R.id.tvtitle);
            holder.tvdate = (TextView) convertView.findViewById(R.id.tvdate);
            convertView.setTag(holder);

        }else{
            holder = (ViewHolder) convertView.getTag();
        }

        setValues(position);
        return convertView;


    }

    private void setValues(int position){
        News news = newses.get(position);
        try{
            holder.tvtitle.setText(news.getTitle());
            holder.tvdate.setText(news.getAnnosDate());
        }catch (Exception e){
            e.printStackTrace();
        }

    }


    class ViewHolder {

          TextView tvtitle;
          TextView tvdate;
    }

}

沒有留言:

張貼留言