#java #android #android-recyclerview
#java #Android #android-recyclerview
Вопрос:
У меня есть список элементов mutliple. в моем списке каждый элемент содержит статус, который может быть 1 или 2. у меня также есть две кнопки, одна из которых подтверждает, что она завершена. Теперь я хочу скрыть кнопку завершения, если статус равен 2, и скрыть кнопку подтверждения, если статус равен 1. Но он проверяет только статус первого элемента. Пожалуйста, помогите
@Override
public void onBindViewHolder(@NonNull Fmb2borderadapter.orderfmholder holder, int position) {
Fmordermodel fmordermodel = fmsarr.get(position);
holder.assignOrderNbr.setText(fmordermodel.getAssignOrderno());
holder.assignCustomerID.setText(fmordermodel.getOrder_unique_id());
holder.assignOrderDate.setText(fmordermodel.getAssignOrderDate());
holder.tv_status.setText(fmordermodel.getStatus());
status = fmordermodel.getStatus();
holder.tv_status.setTag(position);
status = fmordermodel.getStatus();
// holder.tv_status.setVisibility(holder.tv_status.getTag(position)=="2"?View.VISIBLE:View.GONE);
if (holder.tv_status.toString() == "2" ){
holder.tv_complete.setVisibility(View.VISIBLE);
holder.tv_confrim.setVisibility(View.GONE);
}else{
holder.tv_complete.setVisibility(View.GONE);
holder.tv_confrim.setVisibility(View.VISIBLE);
}
}
Ответ №1:
Вам необходимо изменить if-block
следующее:
if (holder.tv_status.getText().toString().equals("2")) {
//...
}
Вы отбросили getText()
метод. Кстати, не используйте ==
operator для сравнения String
значений, если вы не хотите проверять ссылки. Используйте equals()
вместо этого для эффективного сравнения двух String
значений.
Ответ №2:
Попробуйте заменить эту строку
if (holder.tv_status.toString() == "2" ){
с помощью этой строки
if (holder.tv_status.toString().equals("2" ){
Комментарии:
1. Отсутствует «)», извините, я не могу его отредактировать
2. я пытался, но моя проблема в том, что он не будет проверять статус всех элементов. теперь он проверяет статус только 1-го элемента, а статус первого элемента равен 2, поэтому он скрывает завершенную кнопку из всех элементов, но я хочу скрыть только там, где статус равен 2