В настоящее время я разрабатываю приложение, которое может обнаружить актив с помощью считывателя RFID. То, что я хочу сделать, это каждый раз, когда актив обнаружен, объект, чтобы определить, обнаружен ли актив в держателе представления переработчика, который содержит список зарегистрированных активов (в данном случае представление изображения? Изменяется, если обнаружен актив ( в этом случае становится зеленым) и ничего не делать, если актив не обнаружен.
Мой вопрос заключается в том, как получить доступ к представлению изображения в макете держателя вида переработчика и вызвать изменение в деятельности (используя определенную процедуру)?
Здесь я предоставлю вам несколько кодов, которые я уже сделал в проекте.
Метод в операции для проверки, обнаружен ли актив.
public void checkData(){
for(AssetAPI a : assetAPIList){
for(String b : detectedData){
if(a.getAsset_rfid().equals(b)){
Log.i(TAG, "checkData: " + "detected " + a.getName() + b ); // executed everytime a data is detected
showToast("Data detected = " + b);
a.setDetected(1); // a decoy to change the imageview but doesn't work properly, explained in the next procedure
}
else{
Log.i(TAG, "checkData: " + "undetected" );
a.setDetected(0); // a decoy to change the imageview but doesn't work properly, explained in the next procedure
}
}
}
showData(); // set a new recycler view adapter everytime the asset list is changed
}
Метод onBindViewHolder в классе адаптера представления переработчика.
@Override
public void onBindViewHolder(@NonNull final ItemHolder holder, final int position) {
// code
// code
// code
// this is the code to change the imageview to green if the data is detected by checking if the model class has a certain value or not, in this case 1 if detected and 0 by default
// the image view doesn't change properly, only change 1 data even if 3 data is detected
if(listData.get(position).getDetected() == 1){
holder.ivStatus.setBackgroundColor(Color.GREEN);
}
// code
// code
// code
}
Я не думаю, что это правильный путь, и я не уверен, как правильно сделать это. Я предоставлю вам более подробную информацию, если потребуется, и любая помощь будет оценена, спасибо.