Всплывающие фрагменты/окна
Нужно реализовать всплывающие окна (несколько, у каждого свой функционал: статистика, доп сведения и т.д.). В каждом таком окне будет разнообразный набор элементов, в т.ч. кликабельные. Как лучше это реализовать? Для примера накидал код, работает, можно настроить нужный размер окна, но как сделать кликабельность?
Так же, если есть более рациональный и лучший способ - буду признателен.
public class MainActivity extends AppCompatActivity {
Button click, but2;
View my_custom_view;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
click = findViewById(R.id.click);
my_custom_view = getLayoutInflater().inflate(R.layout.alert, null);
}
public void ClicksMe(View v){
Dialog d = new Dialog(this);
d.setContentView(my_custom_view);
but2 = my_custom_view.findViewById(R.id.but2);
but2.setText("Закрыть");
d.show();
}
}
UP
И возник вопрос - как закрыть окно "правильно"? Таким образом приложение вылетает с ошибкой.
public void ClicksMe(View v){
final Dialog d = new Dialog(this);
d.setContentView(my_custom_view);
but2 = my_custom_view.findViewById(R.id.but2);
d.show();
but2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
d.cancel();
}
});
}
UO-2:
При d.dismiss(); закрывается, да, но при повторной попытке открытия вылетает ошибка.
Ответы (1 шт):
Автор решения: Circassian
→ Ссылка
Вешаешь OnClickListener на кнопку
but2.setOnClickListener(v -> {
});
