【发布时间】:2019-06-07 10:43:47
【问题描述】:
当我收到 Volley 错误并告诉用户重试时,我试图显示一个对话框,因此我选择了一个 dialogFragment 以便能够对其进行自定义。
我在 Fragment 类中处理如下错误:
if (vError instanceof TimeoutError || vError instanceof NoConnectionError) {
Toast.makeText(getContext(),
Objects.requireNonNull(getActivity()).getString(R.string.error_network_timeout),
Toast.LENGTH_LONG).show();
} else if (vError instanceof AuthFailureError) {
Toast.makeText(getContext(),
Objects.requireNonNull(getContext()).getString(R.string.error_network_auth_error),
Toast.LENGTH_LONG).show();
} else if (vError instanceof ServerError) {
Toast.makeText(getContext(),
Objects.requireNonNull(getContext()).getString(R.string.error_network_server_error),
Toast.LENGTH_LONG).show();
} else if (vError instanceof NetworkError) {
Toast.makeText(getContext(),
Objects.requireNonNull(getContext()).getString(R.string.error_network_network_error),
Toast.LENGTH_LONG).show();
} else if (vError instanceof ParseError) {
Toast.makeText(getContext(),
Objects.requireNonNull(getContext()).getString(R.string.error_network_parse_faillure),
Toast.LENGTH_LONG).show();
}
实际上,我只能根据错误类型显示 Toast 消息。
使用以下内容,我试图将消息作为参数传递,但似乎不起作用。
Bundle args = new Bundle();
args.putString("vErr", "vErr");
DialogFragment errFragment = new NetworkErrorDialogFragment();
errFragment.setArguments(args);
errFragment.show(getFragmentManager(), "NetErrDialogFragment");
编辑: 检索值:
在dialogFragment的onCreateView中:
errorTextView.setText(getArguments().getString("vErr"));
【问题讨论】:
-
请粘贴您在对话框片段中检索参数的那部分代码
标签: android android-fragments bundle android-alertdialog