第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android Firebase Recyclerview - 如何取消選擇上一個選定的項目?

Android Firebase Recyclerview - 如何取消選擇上一個選定的項目?

森林海 2021-12-10 16:23:22
我有一個簡單的問題。我有一個包含列表項的回收站視圖,我可以做的是突出顯示您單擊的項。我的問題是我不知道如何取消選擇用戶單擊的上一個項目,因此只能選擇 1 個項目。private void loadCategories() {    adapter = new FirebaseRecyclerAdapter<Category, CategoryViewHolder>(            Category.class,            R.layout.categoryaddquestions_layout,            CategoryViewHolder.class,            categories    ) {        @Override        protected void populateViewHolder(CategoryViewHolder viewHolder, final Category model, int position) {            viewHolder.category_name.setText(model.getName());            viewHolder.setItemClickListener(new ItemClickListener() {                @Override                public void onClick(View view, int position, boolean isLongClick) {                    view.setSelected(false);                }            });        }    };    adapter.notifyDataSetChanged();    listCategory.setAdapter(adapter);}這是我使用的視圖持有者public class CategoryViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{    public TextView category_name;    public ImageView category_image;    public LinearLayout category_layout;    private ItemClickListener itemClickListener;    public CategoryViewHolder(View itemView) {        super(itemView);        category_layout = itemView.findViewById(R.id.categoryaddquestion_layout);        category_image = itemView.findViewById(R.id.category_image);        category_name =  itemView.findViewById(R.id.category_name);        itemView.setOnClickListener(this);    }    public void setItemClickListener(ItemClickListener itemClickListener) {        this.itemClickListener = itemClickListener;    }    @Override    public void onClick(View view) {        itemClickListener.onClick(view,getAdapterPosition(),false);    }}
查看完整描述

2 回答

?
收到一只叮咚

TA貢獻1821條經(jīng)驗 獲得超5個贊

在您的適配器中創(chuàng)建一個名為 SelectedPosition 的變量。單擊時,將該變量更新為adapterPosition 并重新加載recyclerView。


簽到populateViewHolder說:


if selectedPosition == position { 

   //highlighted

}

else {

  //set back to normal

}


查看完整回答
反對 回復(fù) 2021-12-10
?
喵喵時光機

TA貢獻1846條經(jīng)驗 獲得超7個贊

這是我自己的解決方案。


@Override

        protected void populateViewHolder(CategoryViewHolder viewHolder, final 

Category model, int position) {


            viewHolder.category_name.setText(model.getName());

            if (position == Common.index) {

                viewHolder.category_layout.setSelected(true);

            } else {

                viewHolder.category_layout.setSelected(false);


            }




            viewHolder.setItemClickListener(new ItemClickListener() {

                @Override

                public void onClick(View view, int position, boolean isLongClick) {


                    Common.index = position;

                    adapter.notifyDataSetChanged();

                }

            });

        }

    };

    adapter.notifyDataSetChanged();

    listCategory.setAdapter(adapter);

}

我只是使用了一個 Common java 類,問題是用 public static int 索引解決的


查看完整回答
反對 回復(fù) 2021-12-10
  • 2 回答
  • 0 關(guān)注
  • 201 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號