在ListView AndroidStudio上实现ViewHolder [英] Implements ViewHolder on a ListView AndroidStudio

查看:400
本文介绍了在ListView AndroidStudio上实现ViewHolder的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要帮助以将ViewHolder实现到ListView.

I need help to implements a ViewHolder to my ListView please.

...     
ListAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, array_spinner);//Inserisco le possibilita
                mylist = (ListView) findViewById(R.id.listView1);
                mylist.setAdapter(adapter);
                mylist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
...

有人可以帮我吗?

推荐答案

    public class YourAdapter extends ArrayAdapter<String> {

    Context context;
    int layoutResourceId;
    String data[] = null;

    public YourAdapter(Context context, int layoutResourceId, String[] data) {
        super(context, layoutResourceId, data);
        this.layoutResourceId = layoutResourceId;
        this.context = context;
        this.data = data;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View row = convertView;
        ViewHolder holder = null;

        if(row == null)
        {
            LayoutInflater inflater = ((Activity)context).getLayoutInflater();
            row = inflater.inflate(layoutResourceId, parent, false);

            holder = new ViewHolder();
            holder.txtTitle = (TextView)row.findViewById(R.id.row_textview);

            row.setTag(holder);
        }
        else
        {
            holder = (ViewHolder)row.getTag();
        }

        String title = data[position];
        holder.txtTitle.setText(title);

        return row;
    }

    static class ViewHolder
    {
        TextView txtTitle;
    }
}

并在您的活动中执行此操作:

and In your activity do this:

   YourAdapter adapter = new YourAdapter<>(this,R.layout.your_custom_layout, your_string_array);
    mylist = (ListView) findViewById(R.id.listView1);
    mylist.setAdapter(adapter);

这篇关于在ListView AndroidStudio上实现ViewHolder的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆