有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将TextInputLayout或任何UI组件从活动传递到DialogFragment

我有一个注册活动和一个对话框片段。每次我在注册活动中按下一个按钮,就会出现一个带有按钮的对话框片段,按下按钮时就会调用web服务。我想做的是,我想从注册活动中获取TextInputLayout到我的对话框片段,因为如果其中一个字段中存在web服务错误,我想使用setError()来显示该错误。我曾尝试使用LayoutInfater膨胀视图,在运行代码时没有收到任何错误,但在TextInputLayout中也没有看到内联错误

LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.activity_register, null);

可能吗?任何帮助都将不胜感激


共 (1) 个答案

  1. # 1 楼答案

    您应该永远不要将视图从一个活动/片段传递到其他活动/片段
    在您的情况下,最好使用一种机制将API调用的结果从对话框片段传递给活动。在这种情况下,有多种方式;一种是在对话和活动之间使用SharedViewModel。另一种方法是使用FragmentResultAPI将API调用的结果传递给活动
    您可以阅读更多关于如何实现这些here