#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); } } }
Как синхронизировать мой вид переработчика и мою стойку?