【发布时间】:2019-06-10 03:49:25
【问题描述】:
我将一堆代码移到我的程序中成为DialogFragment,突然对话框是空的。
尝试输入其他数据,如 Textviews 等,但它们也没有显示,所以我认为问题是我如何将布局文件与 DialogFragment 代码耦合。
DialogFragment 类:
public class NewAccDialog extends DialogFragment {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
View mView = getActivity().getLayoutInflater().inflate(R.layout.new_acc_dialog, null);
builder.setTitle(getActivity().getString(R.string.overview_newacctitle_txt));
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, list);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
final Spinner accTypeSpinner = mView.findViewById(R.id.new_acc_spinner);
accTypeSpinner.setAdapter(adapter);
// onclicks removed
return builder.create();
}
}
我如何在活动中使用它:
public void createNewAcc(View v) {
Bundle args = new Bundle();
args.putLong("customerId", customerId);
args.putParcelable("customerObject", customer);
DialogFragment newAccDialog = new NewAccDialog();
newAccDialog.setArguments(args);
newAccDialog.show(getSupportFragmentManager(), "new_acc_dialog");
}
没有显示错误消息,但这是我的对话框的样子:
【问题讨论】:
-
您已创建
mView但从未使用过它。您应该将其设置为ContentView到 dialog 。使用builder.setView(mView)./ -
难以置信,谢谢我的朋友