package com.xxpatx.os.adapter; import android.content.Context; import android.provider.Settings; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import com.tencent.mmkv.MMKV; import com.xxpatx.os.R; import com.xxpatx.os.activity.quickapp.QuickAppActivity; import com.xxpatx.os.bean.AppSelectBean; import com.xxpatx.os.config.CommonConfig; import java.util.List; public class AppSelectedAdapter extends RecyclerView.Adapter { private static final String TAG = "AppSelectedAdapter"; private Context mContext; private List mAppSelectBeans; private int unselectedStatus = -1; private int selecedPosition = unselectedStatus; private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE); public void setAppSelectBeans(List appSelectBeanList) { this.mAppSelectBeans = appSelectBeanList; notifyDataSetChanged(); } @NonNull @Override public Holder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { mContext = parent.getContext(); return new Holder(LayoutInflater.from(mContext).inflate(R.layout.item_app_select, parent, false)); } @Override public void onBindViewHolder(@NonNull Holder holder, int position) { AppSelectBean appSelectBean = mAppSelectBeans.get(position); holder.iv_icon.setImageDrawable(appSelectBean.getIcon()); holder.tv_name.setText(appSelectBean.getAppName()); if (selecedPosition == position) { holder.iv_select.setImageDrawable(mContext.getDrawable(R.drawable.icon_selected)); } else { holder.iv_select.setImageDrawable(mContext.getDrawable(R.drawable.icon_unselected)); } holder.iv_select.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (position != selecedPosition) { holder.iv_select.setImageDrawable(mContext.getDrawable(R.drawable.icon_selected)); selecedPosition = position; Settings.Global.putString(mContext.getContentResolver(), QuickAppActivity.QUICK_APP_KEY, appSelectBean.getPackageName()); } else { holder.iv_select.setImageDrawable(mContext.getDrawable(R.drawable.icon_unselected)); selecedPosition = -1; Settings.Global.putString(mContext.getContentResolver(),QuickAppActivity.QUICK_APP_KEY, ""); Log.e(TAG, "setQuickApp: empty"); } notifyDataSetChanged(); } }); } @Override public int getItemCount() { return mAppSelectBeans == null ? 0 : mAppSelectBeans.size(); } static class Holder extends RecyclerView.ViewHolder { ImageView iv_select, iv_icon; TextView tv_name; Holder(@NonNull View itemView) { super(itemView); iv_select = itemView.findViewById(R.id.iv_select); iv_icon = itemView.findViewById(R.id.iv_icon); tv_name = itemView.findViewById(R.id.tv_name); } } }