Java 在alertDialog内显示Recyclerview
我想在AlertDialog中显示我的Recyclerview,就像代码一样,我很确定我已经在视频中看到了,但是当我打开AlertDialog时,它总是强制关闭。你们能帮帮我吗?我是新用户使用android studio使用自定义布局对话框将自定义布局添加到对话框中。尝试使用下面给定的代码。 希望这将是一个有用的答案Java 在alertDialog内显示Recyclerview,java,android,Java,Android,我想在AlertDialog中显示我的Recyclerview,就像代码一样,我很确定我已经在视频中看到了,但是当我打开AlertDialog时,它总是强制关闭。你们能帮帮我吗?我是新用户使用android studio使用自定义布局对话框将自定义布局添加到对话框中。尝试使用下面给定的代码。 希望这将是一个有用的答案 imgTest.setOnClickListener(new View.OnClickListener() { @O
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();
}
});
- 在style.xml中定义对话框样式
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();
真的 @android:彩色/透明 @空的 真的
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();
}
});
- 在style.xml中定义对话框样式
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();
真的 @android:彩色/透明 @空的 真的
<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>
对话框上下文必须是活动
<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>