【问题标题】:How to Keep Selected listItem of Recyclerview Highlighted untill next Item of Recyclerview is been selected in xamarin Android如何保持 Recyclerview 的选定列表项突出显示,直到在 xamarin Android 中选择下一个 Recyclerview 项
【发布时间】:2017-08-30 07:14:02
【问题描述】:

public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) { myholder = 持有者作为 GeoFenceViewHolder; myholder.ItemView.SetBackgroundColor(Android.Graphics.Color.ParseColor("#000000")); if (selectedPosition == 位置) { myholder.ItemView.SetBackgroundColor(Android.Graphics.Color.ParseColor("#FF4081")); } 别的 { myholder.ItemView.SetBackgroundColor(Android.Graphics.Color.ParseColor("#ffffff")); }

        GeoFenceViewHolderItemClick(position);

        if (_lstItem[position].isApplied == true)
        {
            myholder.mradiobtngeofenceapplied.Checked = true;
        }
    }

    private void GeoFenceViewHolderItemClick(int position)
    {
       myholder.ItemView.Click += (sender, e) =>
      {
          selectedPosition = position;
          NotifyDataSetChanged();
      };
    }

【问题讨论】:

    标签: xamarin.android


    【解决方案1】:

    如何在 xamarin Android 中选择 Recyclerview 的选定 listItem 直到 Recyclerview 的下一个项目被选中

    只需在OnBindViewHolder 中添加以下行:

    viewHolder.ItemView.SetBackgroundColor(Android.Graphics.Color.ParseColor("#000000"));
    

    会为你工作。

    突出显示所选项目,如下所示:

    //set it global
    int selectedPosition = -1;   
    
    public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
    {
         ...
    
         if(selectedPosition == position)
         {
             viewHolder.ItemView.SetBackgroundColor(Android.Graphics.Color.ParseColor("#FF4081"));
         }
         else
         {
             viewHolder.ItemView.SetBackgroundColor(Android.Graphics.Color.ParseColor("#ffffff"));
         }
    
         viewHolder.ItemView.Click += (sender, e) =>
         {
             selectedPosition = position;
             NotifyDataSetChanged();
         };
     }
    

    效果类似于this

    【讨论】:

    • York 选定的项目正在突出显示..但默认情况下,列表中的下一项默认情况下会突出显示
    • @Divya,您能详细说明一下吗?我无法重现您的问题。
    • york 当我选择一个项目时它会突出显示并删除该项目(删除工作正常),一旦我删除下一个项目就会突出显示
    • @Divya,您是如何删除项目的,请发布您的代码。
    猜你喜欢
    • 2014-12-21
    • 1970-01-01
    • 2021-08-22
    • 1970-01-01
    • 2016-11-15
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多