imgTest.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final AlertDialog.Builder mBuilder = new AlertDialog.Builder(getApplicationContext());
mBuilder.setTitle("Location Available!");
LayoutInflater inflater = getLayoutInflater();
View convertView = inflater.inflate(R.layout.reclycer_data, null);
RecyclerView list = convertView.findViewById(R.id.recView);
list.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
list.setAdapter(adapter);
AlertDialog dialog = mBuilder.create();
dialog.show();
}
});
Я хочу показать свое Recyclerview в AlertDialog как код, я почти уверен, что уже следую в видео, но оно всегда закрывается, когда я открываю alertDialog. Ребята, вы можете мне помочь? я новый пользователь андроид студии
Используйте пользовательский макет диалога, чтобы добавить свой собственный макет в диалог. Попробуйте использовать приведенный ниже код. Надеюсь, что это будет полезным ответом.
final Dialog dialog = new Dialog(getApplicationContext(), R.style.FullHeightDialog);
dialog.setContentView(R.layout.reclycer_data);
dialog.setCancelable(false);
if (dialog.getWindow() != null){
dialog.getWindow().setLayout(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
}
RecyclerView list = dialog.findViewById(R.id.recView);
list.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
list.setAdapter(adapter);
dialog.show();
Определить стиль диалога в style.xml
<style name="FullHeightDialog" parent="Base.Theme.AppCompat.Light.Dialog">
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowFullscreen">true</item>
</style>
Контекст диалога должен Активность
final AlertDialog.Builder mBuilder = new AlertDialog.Builder(YouActivity.this);
mBuilder.setTitle("Location Available!");
LayoutInflater inflater = getLayoutInflater();
View convertView = inflater.inflate(R.layout.reclycer_data, null);
RecyclerView list = convertView.findViewById(R.id.recView);
list.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
list.setAdapter(adapter);
mBuilder.setView(convertView); // setView
AlertDialog dialog = mBuilder.create();
dialog.show();