我正在尝试显示来自另一个类的警报对话框。我在堆栈溢出中查找了许多问题,但没有一个有效。
我有两个类和.我正在尝试显示警报对话框,其中在 中指定。MainActivity.javaCustomInputDialog.javaCustomInputDialog.javaMainActivity.java
在我的我有以下代码:MainActivity.java
ArrayList<CustomInputDialog.Field> fields = new ArrayList<>(Arrays.asList(
new CustomInputDialog.Field(CustomInputDialog.Field.TYPE.TEXT, "Name", "", null),
new CustomInputDialog.Field(CustomInputDialog.Field.TYPE.DATE, "Start Date", "", null),
new CustomInputDialog.Field(CustomInputDialog.Field.TYPE.DATE, "End Date", "", null)
));
ArrayList<String> result = CustomInputDialog.showDialog(MainActivity.this, "Title", fields);
在我的我有以下代码:CustomInputDialog.java
final class CustomInputDialog {
private static final String TAG = "CustomInputDialog";
private static final String dateUISeparator = " : ";
static ArrayList<String> showDialog(final Context context, String title, final ArrayList<Field> fields) {
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(context);
final LinearLayout layout = new LinearLayout(context);
layout.setOrientation(LinearLayout.VERTICAL);
final LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(10, 10, 10, 10);
final ArrayList<View> uis = new ArrayList<>();
for (final Field field : fields) {
final View ui;
switch (field.type) {
/**To long code it just creates specified views and saves it in `ui` variable*/
}
ui.setLayoutParams(layoutParams);
Log.d(TAG, "showDialog: ui added");
layout.addView(ui);
uis.add(ui);
}
在调试时,事实证明没有抛出异常,但仍然在方法中显示变量 :不可见。alertDialogshowDialog
猛跑小猪
相关分类