как я выделил элемент при первом запуске приложения в корзине - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть встроенный элемент, который выделяется при первом запуске приложения в моем проекте.Я буду использовать, чтобы сохранить выбранный элемент по щелчку адаптера в базе данных SQL и установить значение при первом запуске приложения, но это не изменит фон и цвет текста.Пожалуйста, помогите мне в решении проблемы и предложите мне правильный путь

public class LoadVehicleTypeAdapter  extends RecyclerView.Adapter<LoadVehicleTypeAdapter.CarTypesHolder> {

private List<TaxiTypeResponse.Message> CarTypesModelsList;
private Context mContext;
VehicleTypeView vehicleTypeView;
int I=-1;
int idd=0;
Activity activity;
GoogleMap map;
int II=-1;
List<VehicleClick> list;
public static String dbname="HellooClick";
public static MyAppRoomDataBase myAppRoomDataBase;


public class CarTypesHolder extends RecyclerView.ViewHolder implements  View.OnClickListener {
    public CustomTextView mCarType;
    public CircleImageView mCarTypeImage;
    LinearLayout llRoot;
    CardView cardView;
    setOnitemclick listener;
    SparseBooleanArray mSparseArray;
    public void setOnItemClickListner(setOnitemclick listener)
    {
        this.listener=listener;
    }

    public CarTypesHolder(View view) {
        super(view);

        mCarType = (CustomTextView) view.findViewById(R.id.frag_cartypes_inflated_name);
        mCarTypeImage = (CircleImageView) view.findViewById(R.id.frag_cartype_inflated_frameImage);
        llRoot = (LinearLayout)view.findViewById(R.id.root1);
        cardView=(CardView) view.findViewById(R.id.cardf);
        mSparseArray=new SparseBooleanArray();


        view.setOnClickListener(this);

    }


    @Override
    public void onClick(View v) {

        mSparseArray.put(getAdapterPosition(), true);
        listener.ImageClick(v,getAdapterPosition());
    }
}


public LoadVehicleTypeAdapter(Context context, List<TaxiTypeResponse.Message> CarTypesModelsList, VehicleTypeView vehicleTypeView,Activity activity,GoogleMap map) {
    this.CarTypesModelsList = CarTypesModelsList;
    mContext = context;
    this.vehicleTypeView = vehicleTypeView;
    this.activity=activity;
    this.map=map;
}



@Override
public CarTypesHolder onCreateViewHolder(ViewGroup parent, int viewType) {

    View itemView = LayoutInflater.from(parent.getContext())
            .inflate(R.layout.frag_cartype_inflated_view, parent, false);
    return new CarTypesHolder(itemView);
}

@SuppressLint("ResourceType")
@Override
public void onBindViewHolder(final  CarTypesHolder holder, final int position) {
    myAppRoomDataBase=Room.databaseBuilder(activity,MyAppRoomDataBase.class,dbname).allowMainThreadQueries().build();
    list=myAppRoomDataBase.userDao().getAll();
    if(list.size()!=0){
        II= Integer.parseInt(list.get(0).RideId);

    }
    if (II==position)
    {
 holder.llRoot.setBackgroundColor(Color.parseColor("#999999"));
        holder.mCarType.setTextColor(Color.parseColor("#ffffff"));
    }
    else
    {

    }
    SharedPreferences sharedPreferences = activity.getSharedPreferences("mSelected", Context.MODE_PRIVATE);
    TaxiTypeResponse.Message carTypesModel = CarTypesModelsList.get(position);
     holder.mCarType.setText(carTypesModel.getName());
     holder.mCarTypeImage.setBackgroundResource(R.drawable.wait);
    int color = Color.parseColor(PreferenceHandler.readString(mContext,PreferenceHandler.SECONDRY_COLOR,"#006fb6"));
    holder.mCarType.setTextColor(color);



    holder.setOnItemClickListner(new setOnitemclick() {
        @Override
        public void ImageClick(View v,int position1) {
            I=position1;
            notifyDataSetChanged();

            if (list.size()!=0)
            {
                myAppRoomDataBase.userDao().delete();
                list.clear();
            }
            VehicleClick vehicleClick=new VehicleClick();
            vehicleClick.setRideId(String.valueOf(position1));
            myAppRoomDataBase.userDao().insert(vehicleClick);
            list.add(vehicleClick);

        }
    });
    if (I==position)
    {

        holder.llRoot.setBackgroundColor(Color.parseColor("#999999"));
        holder.mCarType.setTextColor(Color.parseColor("#ffffff"));


    }
    else
    {

        holder.llRoot.setBackgroundColor(Color.parseColor("#f3f3f3"));
        holder.mCarType.setTextColor(Color.parseColor("#2196F3"));

    }

   Picasso.with(mContext).load(carTypesModel.getImagePath()).into(holder.mCarTypeImage);

}

@Override
public long getItemId(int position) {
    return CarTypesModelsList.get(position).getID();
}

@Override
public int getItemCount() {
    return CarTypesModelsList.size();
}

public void setSelection(LinearLayout imageView,CustomTextView textView,boolean value,int position){
    if(value){

        imageView.setBackgroundColor(Color.parseColor("#999999"));
        textView.setTextColor(Color.parseColor("#FFFFFF"));

    }else{
        System.out.println("11111111111111111000000111111111111");
        imageView.setBackgroundColor(Color.parseColor("#f3f3f3"));
        textView.setTextColor(Color.parseColor("#2196F3"));

     }
 }
 public interface  setOnitemclick{
    void ImageClick(View view,int position);
 }
@Override
public int getItemViewType(int position) {
    return position;
}



}
...