У меня есть просмотр изображения для действия, в котором есть щелчок, чтобы показать диалог для справки, содержание диалога зависит от того, о чем фрагмент. Проблема в том, что я хочу скрыть справку imageview после конкретного фрагмента, но я не могу найти viewID из этого фрагмента изображения внутри фрагмента в setVisibility, поскольку он возвращает нулевую ссылку на объект.
Я создал открытую статическую строку для изменения содержимого диалога внутри фрагмента.
MainActivity.java
ivHelp = findViewById(R.id.ivHelp);
private void showDialog(String title, String message){
if(title.equals("hide")){
ivHelp.setVisibility(View.INVISIBLE);
}
else {
Dialog dialog = new Dialog(MainActivity.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
Window window = dialog.getWindow();
window.setBackgroundDrawableResource(android.R.color.transparent);
dialog.setContentView(R.layout.dialog_help);
ImageView btnClose = (ImageView) dialog.findViewById(R.id.dialog_close);
TextView tvTitle = (TextView) dialog.findViewById(R.id.dialog_title);
TextView tvMessage = (TextView) dialog.findViewById(R.id.dialog_message);
tvTitle.setText(title);
tvMessage.setText(message);
btnClose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
}
}
Фрагмент
fragmentview = inflater.inflate(R.layout.fragment_enter_car_details, container, false);
ivHelp = fragmentview.findViewById(R.id.ivHelp);
btnBook = fragmentview.findViewById(R.id.btnEnterCarDetails_Book);
btnBook.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ivHelp.performClick();
MainActivity.dialogTitle="hide";
FragmentTransaction ft =getActivity().getSupportFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, new FindingWasherFragment());
ft.commit();
}
});
return fragmentview;
Это занятие
Это фрагмент
Изображение - это вопросительный знак на упражнении