Я пытаюсь отобразить кнопку удаления в каждом элементе списка в моем списке, когда нажата кнопка редактирования. Я использую setVisibility в другом месте приложения, поэтому я попытался скопировать этот код, но проблема в том, что элементы макета в элементах списка не являются частью XML-файла макета, который реализует фрагмент, они находятся в специальном, используемом мой CursorAdapter. Я могу найти нужные скрытые элементы, используя макетный инфлятор, поэтому я больше не получаю исключение nullPonterException, однако видимость не изменяется при нажатии кнопки так, как должно.Android, установите видимость в макете списка элементов
// Onclick method for Edit button
final Button buttonE = (Button) rootView.findViewById(R.id.editNotesButton);
buttonE.setTag(0);
//cannot use rootView as that points to fragment_main
final LayoutInflater factory = getLayoutInflater(savedInstanceState);
final View noteItemView = factory.inflate(R.layout.note_list_view_item, null);
final LinearLayout deleteButton = (LinearLayout) noteItemView.findViewById(R.id.delete_button_group);
final LinearLayout circleButton = (LinearLayout) noteItemView.findViewById(R.id.circle_button_group);
buttonE.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {
final int status =(Integer) v.getTag();
if(status == 1) {
buttonE.setText("Edit");
circleButton.setVisibility(View.VISIBLE);
deleteButton.setVisibility(View.GONE);
v.setTag(0); //pause
} else {
buttonE.setText("Done");
circleButton.setVisibility(View.GONE);
deleteButton.setVisibility(View.VISIBLE);
v.setTag(1); //pause
}
}
}
);
Основываясь на этом методе, я получил его на работу, как вы сказали, я по сути определил, будет ли кнопка удаления там или нет в bindView и будет обновлена, как только я изменил логическое значение, спасибо. –