Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
166 views
in Technique[技术] by (71.8m points)

java - how i highlighted item in first launch of app in recycle

I have integrated item is highlighted in the first launch of the app in my project. I'll use to save the selected item on the click of the adapter in the SQL database and set the value in the first launch of the app, but it does not change the background and text color. please help me in solving the issue and suggest me the right way

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;
}



}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...