滚动传递第7个对象时检查Listview行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了滚动传递第7个对象时检查Listview行相关的知识,希望对你有一定的参考价值。

我正在我的listview上工作,我点击它后禁用该行的按钮。我的问题是,当我点击button1时,它将禁用其他行中的其他按钮,这是第9个对象。以下是我的getView方法代码。

@Override
    public View getView(final int position, View view, ViewGroup viewGroup) {

        Typeface face_02 = Typeface.createFromAsset(context.getAssets(), "customfont/grb.otf");

        final ViewHolder holder;
        if (view == null) {
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            view = inflater.inflate(layout, null);
            holder = new ViewHolder();
            holder.Boothname = (TextView) view.findViewById(R.id.Boothname);
            holder.buttonVote = (Button) view.findViewById(R.id.buttonvote);
            view.setTag(holder);

        } else {
            holder = (ViewHolder) view.getTag();
        }
        BoothClassFunAward product = productList.get(position);

        holder.buttonVote.setTypeface(face_02);
        holder.Boothname.setText(product.getBoothName());
        holder.Boothname.setTypeface(face_02); //setFontsize
        //holder.buttonVote.setTypeface(face_02); //setFontsize

        for(int i = 0; i<votedList.size(); i++) {
            if (votedList.get(i).getBoothName().equals(product.getBoothName())) {
                holder.buttonVote.setTypeface(face_02);
                holder.buttonVote.setEnabled(false);
                holder.buttonVote.setText("Completed");
            }
        }

        holder.buttonVote.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String Boothdata=  holder.Boothname.getText().toString();
                //final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
                //prefs.edit().putString("boothdata", Boothdata).commit();

                //Intent intent2 = new Intent(context, ProgramActivity.class);
                //context.startActivity(intent2);

                Intent intent = new Intent(context, ProgramActivity.class);
                intent.putExtra("storedata", Boothdata);
                context.startActivity(intent);

            }
    });
        return view;
    }
答案

其余按钮需要再次启用,添加以下行:

    holder.buttonVote.setEnabled(true);

    for(int i = 0; i<votedList.size(); i++) {
        if (votedList.get(i).getBoothName().equals(product.getBoothName())) {
            holder.buttonVote.setTypeface(face_02);
            holder.buttonVote.setEnabled(false);
            holder.buttonVote.setText("Completed");
        } 
    }

以上是关于滚动传递第7个对象时检查Listview行的主要内容,如果未能解决你的问题,请参考以下文章

在我的 android 应用程序中滚动列表视图时,数据正在消失。我在片段中使用列表视图

在 ListView 滚动结束时加载更多结果

向下滚动ListView时显示按钮

滚动时ListView位置问题

在 ListView 中滚动时 CheckedTextView 消失

检查滚动条可见性