当列表视图滚动那个时候的EditText设定的默认值 [英] when listview scroll that time edittext set default value

查看:139
本文介绍了当列表视图滚动那个时候的EditText设定的默认值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个的EditText和列表视图 - / + button.When我是点击按钮一样变化的EditText值递增/递减

当我设定的值例如 5 并滚动列表视图的EditText值作为像0 默认值。

我期运用这种方式。

 公共查看getView(最终诠释的立场,观点convertView,父母的ViewGroup){
        LayoutInflater吹气=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        查看连接;
        最后ViewHolder持有人;
        连接=新景(背景);
        连接= inflater.inflate(R.layout.list_row_modified,NULL);
        持有人=新ViewHolder();
        holder.up =(按钮)connection.findViewById(R.id.btn_plus);
        holder.down =(按钮)connection.findViewById(R.id.btn_minus);
        holder.date =(TextView中)connection.findViewById(R.id.text_date);        //用的onClick holder.up / holder.down        connection.setTag(保持器);
        返回连接;
    }


解决方案

您错误地使用了ViewHolder模式。因为你有一个小清单,EditText上,你甚至都不需要它。

和米洛斯说,这将回收您的列表项,所以当所谓的 getView()您的值将设置为0。你必须保持一定的参考价值,并设置它们 getView()方法。

I have listview with edittext and -/+ button.When i am click on button change edittext value like increment/decrement.

when i am set value like 5 and scroll the listview the edittext set value as a default value like 0.

I am useing this way

public View getView(final int position, View convertView,ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View connection;
        final ViewHolder holder;
        connection = new View(context);         
        connection = inflater.inflate(R.layout.list_row_modified, null);
        holder = new ViewHolder();
        holder.up = (Button) connection.findViewById(R.id.btn_plus);
        holder.down = (Button) connection.findViewById(R.id.btn_minus);
        holder.date = (TextView) connection.findViewById(R.id.text_date);

        //onClick with holder.up/holder.down

        connection.setTag(holder);
        return connection;
    }

解决方案

you have used the ViewHolder pattern incorrectly. since you have a small list with EditText, you don't even need it.

and as Milos said, it will recycle your list items so your values will set to 0 when getView() called. you have to keep some reference to the values and set them in getView() method.

这篇关于当列表视图滚动那个时候的EditText设定的默认值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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