Измените ресурс imageview изнутри recyclerview при нажатии

#java #android-studio #onclick

#Ява #android-студия #onclick

Вопрос:

Я пытаюсь найти позицию для складских приложений. Вот мой пользовательский интерфейс

Примечание : L1 означает Лемари 1, E означает строку E, а 1 означает столбец 1.

Моя цель сейчас-когда пользователь нажимает на список элементов, этот элемент будет выделен, а стойки с одинаковыми данными изменят цвет. Пример, если я нажму перечислить элемент, хранящийся в стойке L1E1, список строк L1E1 будет выделен, а стойка в L1E1 изменит цвет. Я могу изменить цвет стойки и фоновую строку recyclerview, но я не могу ее синхронизировать. Вот мой код

MyMain.Java

 public class AdminTrackingActivity extends AppCompatActivity {  ImageView btnBack, btnKanan, btnKiri,L1A1, L1A2, L1B1, L1B2, L1C1, L1C2, L1D1, L1D2, L1E1, L1E2; RecyclerView mRecyclerViewtr; private EditText searchEnginetr;  private FirebaseDatabase mDatabase = FirebaseDatabase.getInstance(); DatabaseReference mDatabaseAddStock = mDatabase.getReference().child("Stock").child("In").child("StockIn"); DatabaseReference mBuyMore = mDatabase.getReference().child("BuyMore");  /*inisiasi adapter*/ private AdminListAdapterTracking adapter; private ArrayListlt;AdminStockIngt; list;   @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_admin_tracking);  btnBack = findViewById(R.id.btn_back_AdminTracking);  btnBack.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View view) {  startActivity(new Intent(AdminTrackingActivity.this, MainMenuAdminActivity.class));  }  });   btnKanan = findViewById(R.id.btn_kanan_AdminTracking);  btnKanan.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View view) {  startActivity(new Intent(AdminTrackingActivity.this, AdminTrackingActivity2.class));  }  });   btnKiri=findViewById(R.id.btn_kiri_AdminTracking);  btnKiri.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View view) {  startActivity(new Intent(AdminTrackingActivity.this, AdminTrackingActivity5.class));  }  });   L1A1 = findViewById(R.id.AdminTracking_L1A1);  L1A2 = findViewById(R.id.AdminTracking_L1A2);  L1B1 = findViewById(R.id.AdminTracking_L1B1);  L1B2 = findViewById(R.id.AdminTracking_L1B2);  L1C1 = findViewById(R.id.AdminTracking_L1C1);  L1C2 = findViewById(R.id.AdminTracking_L1C2);  L1D1 = findViewById(R.id.AdminTracking_L1D1);  L1D2 = findViewById(R.id.AdminTracking_L1D2);  L1E1 = findViewById(R.id.AdminTracking_L1E1);  L1E2 = findViewById(R.id.AdminTracking_L1E2);   L1A1.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View view) {  L1A1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_abu_edit));  L1A2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1B1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1B2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1C1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1C2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1D1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1D2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1E1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1E2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  }  });   L1A2.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View view) {   L1A2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_abu_edit));  L1A1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1B1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1B2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1C1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1C2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1D1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1D2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1E1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1E2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  }  });   L1B1.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View view) {  L1B1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_abu_edit));  L1A2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1A1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1B2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1C1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1C2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1D1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1D2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1E1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1E2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  }  });   L1B2.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View view) {  L1B2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_abu_edit));  L1A2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1B1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1A1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1C1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1C2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1D1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1D2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1E1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1E2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  }  });   L1C1.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View view) {  L1C1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_abu_edit));  L1A1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1A2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1B1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1B2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1C2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1D1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1D2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1E1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1E2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  }  });   L1C2.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View view) {  L1C2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_abu_edit));  L1A1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1A2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1B1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1B2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1C1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1D1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1D2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1E1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1E2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  }  });   L1D1.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View view) {  L1D1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_abu_edit));  L1A1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1A2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1B1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1B2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1C2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1C1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1D2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1E1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1E2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  }  });   L1D2.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View view) {  L1D2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_abu_edit));  L1A1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1A2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1B1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1B2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1C2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1D1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1C1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1E1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1E2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  }  });   L1E1.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View view) {  L1E1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_abu_edit));  L1A1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1A2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1B1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1B2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1C2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1D1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1D2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1C1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1E2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  }  });   L1E2.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View view) {  L1E2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_abu_edit));  L1A1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1A2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1B1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1B2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1C2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1D1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1D2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1E1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  L1C1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  }  });   DatabaseReference mDatabaseAddRack = mDatabase.getReference().child("Stock").child("In").child("StockIn");  mDatabaseAddRack.addValueEventListener(new ValueEventListener() {  @Override  public void onDataChange(@NonNull DataSnapshot dataSnapshot) {  for (DataSnapshot snapshot : dataSnapshot.getChildren()) {  String rack = snapshot.child("rack").getValue(String.class);  if (rack != null amp;amp; rack.equals("L1A1")) {  L1A1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  } else if(rack != null amp;amp; rack.equals("L1A2")){  L1A2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  } else if(rack != null amp;amp; rack.equals("L1B1")){  L1B1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  } else if(rack != null amp;amp; rack.equals("L1B2")){  L1B2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  } else if(rack != null amp;amp; rack.equals("L1C1")){  L1C1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  } else if(rack != null amp;amp; rack.equals("L1C2")){  L1C2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  } else if(rack != null amp;amp; rack.equals("L1D1")){  L1D1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  } else if(rack != null amp;amp; rack.equals("L1D2")){  L1D2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  }else if(rack != null amp;amp; rack.equals("L1E1")){  L1E1.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  } else if(rack != null amp;amp; rack.equals("L1E2")){  L1E2.setImageDrawable(getResources().getDrawable(R.drawable.kotak_merah_edit));  }  }  }   @Override  public void onCancelled(@NonNull DatabaseError error) {   }  });  /*recycler view*/  mRecyclerViewtr = (RecyclerView) findViewById(R.id.RV_AdminTracking);  LinearLayoutManager layoutManager = new LinearLayoutManager(this);  layoutManager.setReverseLayout(true);  layoutManager.setStackFromEnd(true);  mRecyclerViewtr.setLayoutManager(layoutManager);  mRecyclerViewtr.setHasFixedSize(true);   list = new ArrayListlt;gt;();  adapter = new AdminListAdapterTracking(list, this);  mRecyclerViewtr.setAdapter(adapter);   /*fitur search*/  searchEnginetr = (EditText) findViewById(R.id.searchEngine_AdminTracking);  searchEnginetr.addTextChangedListener(new TextWatcher() {  @Override  public void beforeTextChanged(CharSequence s, int start, int count, int after) {   }   @Override  public void onTextChanged(CharSequence s, int start, int before, int count) {   }   @Override  public void afterTextChanged(Editable s) {  if (!s.toString().isEmpty()) {  search(s.toString());  } else {  search("");  }  }  });   readData(); }  /*membaca data stock in*/ private void readData() {  mDatabaseAddStock.addValueEventListener(new ValueEventListener() {  @Override  public void onDataChange(@NonNull DataSnapshot snapshot) {  if (snapshot.hasChildren()) {  list.clear();  for (DataSnapshot dss : snapshot.getChildren()) {  final AdminStockIn adminStockIn = dss.getValue(AdminStockIn.class);  list.add(adminStockIn);  }  AdminListAdapterTracking adminListAdapterTracking = new AdminListAdapterTracking(list, getApplicationContext());  mRecyclerViewtr.setAdapter(adminListAdapterTracking);  adminListAdapterTracking.notifyDataSetChanged();  }  }   @Override  public void onCancelled(@NonNull DatabaseError error) {   }  }); }  /*lanjutan fitur search*/ private void search(String s) {  Query querydate = mDatabaseAddStock.orderByChild("date").startAt(s).endAt(s   "uf8ff");  Query queryname = mDatabaseAddStock.orderByChild("name").startAt(s).endAt(s   "uf8ff");  Query queryvendor = mDatabaseAddStock.orderByChild("vendor").startAt(s).endAt(s   "uf8ff");  Query queryrack = mDatabaseAddStock.orderByChild("rack").startAt(s).endAt(s   "uf8ff");   querydate.addValueEventListener(new ValueEventListener() {   @Override  public void onDataChange(@NonNull DataSnapshot snapshot) {  if (snapshot.hasChildren()) {  list.clear();  for (DataSnapshot dss : snapshot.getChildren()) {  final AdminStockIn adminStockIn = dss.getValue(AdminStockIn.class);  list.add(adminStockIn);  }  AdminListAdapterTracking adminListAdapterTracking = new AdminListAdapterTracking(list, getApplicationContext());  mRecyclerViewtr.setAdapter(adminListAdapterTracking);  adminListAdapterTracking.notifyDataSetChanged();  }  }   @Override  public void onCancelled(@NonNull DatabaseError error) {   }  });   queryname.addValueEventListener(new ValueEventListener() {  @Override  public void onDataChange(@NonNull DataSnapshot snapshot) {  if (snapshot.hasChildren()) {  list.clear();  for (DataSnapshot dss : snapshot.getChildren()) {  final AdminStockIn adminStockIn = dss.getValue(AdminStockIn.class);  list.add(adminStockIn);  }  AdminListAdapterTracking adminListAdapterTracking = new AdminListAdapterTracking(list, getApplicationContext());  mRecyclerViewtr.setAdapter(adminListAdapterTracking);  adminListAdapterTracking.notifyDataSetChanged();  }  }   @Override  public void onCancelled(@NonNull DatabaseError error) {   }  });   queryvendor.addValueEventListener(new ValueEventListener() {  @Override  public void onDataChange(@NonNull DataSnapshot snapshot) {  if (snapshot.hasChildren()) {  list.clear();  for (DataSnapshot dss : snapshot.getChildren()) {  final AdminStockIn adminStockIn = dss.getValue(AdminStockIn.class);  list.add(adminStockIn);  }  AdminListAdapterTracking adminListAdapterTracking = new AdminListAdapterTracking(list, getApplicationContext());  mRecyclerViewtr.setAdapter(adminListAdapterTracking);  adminListAdapterTracking.notifyDataSetChanged();  }  }   @Override  public void onCancelled(@NonNull DatabaseError error) {   }  });   queryrack.addValueEventListener(new ValueEventListener() {  @Override  public void onDataChange(@NonNull DataSnapshot snapshot) {  if (snapshot.hasChildren()) {  list.clear();  for (DataSnapshot dss : snapshot.getChildren()) {  final AdminStockIn adminStockIn = dss.getValue(AdminStockIn.class);  list.add(adminStockIn);  }  AdminListAdapterTracking adminListAdapterTracking = new AdminListAdapterTracking(list, getApplicationContext());  mRecyclerViewtr.setAdapter(adminListAdapterTracking);  adminListAdapterTracking.notifyDataSetChanged();  }  }   @Override  public void onCancelled(@NonNull DatabaseError error) {   }  }); }     /*tombol kembali*/ @Override public void onBackPressed() {  super.onBackPressed();  moveTaskToBack(); } private void moveTaskToBack() {  startActivity(new Intent(AdminTrackingActivity.this, MainMenuAdminActivity.class)); } }  

MyAdapter.Java

 public class AdminListAdapterTracking extends RecyclerView.Adapterlt;AdminListAdapterTracking.MyViewHoldergt; { ArrayListlt;AdminStockIngt; mList; Context context; Integer row_index = -1;  public AdminListAdapterTracking(ArrayListlt;AdminStockIngt; mList, Context context) {  this.mList = mList;  this.context = context; }   @NonNull @Override public AdminListAdapterTracking.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {  View v = LayoutInflater.from(context).inflate(R.layout.admin_list_tracking, parent, false);  return new AdminListAdapterTracking.MyViewHolder(v); }  @Override public void onBindViewHolder(@NonNull AdminListAdapterTracking.MyViewHolder holder, final int position) {   final AdminStockIn adminStockIn = mList.get(position);   holder.date.setText(adminStockIn.getDate());  holder.time.setText(adminStockIn.getTime());  holder.name.setText(adminStockIn.getName());  holder.quantity.setText(adminStockIn.getQuantity().toString());  holder.vendor.setText(adminStockIn.getVendor());  holder.rack.setText(adminStockIn.getRack());   holder.layout.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View view) {  row_index=position;  notifyDataSetChanged();  }  });  if (row_index==position){  holder.layout.setBackgroundColor(Color.parseColor("#1064AE"));  }else {  holder.layout.setBackgroundColor(Color.parseColor("#ffffff"));  }  }  @Override public int getItemCount() {  return mList.size(); }  public static class MyViewHolder extends RecyclerView.ViewHolder{   TextView date;  TextView time;  TextView name;  TextView quantity;  TextView vendor;  TextView rack;   RelativeLayout layout;    public MyViewHolder(@NonNull View itemView) {  super(itemView);   date = itemView.findViewById(R.id.itemDate_AdminTracking);  time = itemView.findViewById(R.id.itemTime_AdminTracking);  name = itemView.findViewById(R.id.itemName_AdminTracking);  quantity = itemView.findViewById(R.id.itemQuantity_AdminTracking);  vendor = itemView.findViewById(R.id.itemVendor_AdminTracking);  rack = itemView.findViewById(R.id.itemRack_AdminTracking);  layout = itemView.findViewById(R.id.layoutAdminTracking);  } } }  

Как синхронизировать мой вид переработчика и мою стойку?