我正在定制DialogFragment
显示可选择的数据列表。该列表太长,无法在不滚动的情况下显示在屏幕上。对于 API 23 及以下版本,一切似乎都工作正常,但当我在 API 24+ 上进行测试时,DialogFragment 的按钮不再可见。我在看AlertDialog 上缺少按钮 |安卓 7.0(Nexus 5x) https://stackoverflow.com/questions/39621606/missing-buttons-on-alertdialog-android-7-0-nexus-5x,但这似乎并不适用,因为当我减少列表中的内容量以使其全部适合屏幕时,我的按钮确实会显示。如何使我的按钮可见?
我的 onCreateDialog() 方法:
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
final View dialogView = View.inflate(getContext(), android.R.layout.select_dialog_multichoice, null);
builder.setView(dialogView)
.setTitle(R.string.muscle_groups)
.setMultiChoiceItems(Exercise.MUSCLE_GROUPS, selectionTrackingArray, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
...
}
})
.setPositiveButton(R.string.affirmative, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
...
}
})
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
return builder.create();
}
按钮似乎被推离屏幕 https://i.stack.imgur.com/ioKBc.png
如果需要更多信息,请告诉我。
您是否碰巧使用以下方式设置了消息setMessage()
的方法AlertDialog.Builder
,尽管您的示例代码没有使用它?
因为如果您的内容不适合屏幕,那么同时向警报对话框生成器设置自定义视图和消息会产生您所描述的副作用。
要解决此问题,请将消息添加到自定义视图中,并且不要使用设置消息文本setMessage()
方法,对话框按钮将可见。
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)