Java 使用findFragmentByTag获取片段视图不要返回WhitGetView

Java 使用findFragmentByTag获取片段视图不要返回WhitGetView,java,android,android-fragments,android-alertdialog,Java,Android,Android Fragments,Android Alertdialog,我尝试从使用getFragmentManager.findFragmentbyTag实例化的片段中获取视图,请参见下面的我的代码: MyTaskFragment.java: 初始化我的片段 DialogFragment newFragment = new newTaskFragment(); newFragment.show(getFragmentManager(), "newTask"); 在MyTaskFragment中,DialogFragment基本上是这

我尝试从使用
getFragmentManager.findFragmentbyTag
实例化的片段中获取视图,请参见下面的我的代码:

MyTaskFragment.java:

初始化我的片段

DialogFragment newFragment = new newTaskFragment();
               newFragment.show(getFragmentManager(), "newTask");
在MyTaskFragment中,DialogFragment基本上是这样的:

public static class newTaskFragment extends DialogFragment {
    // ..
    builder.setView(inflater.inflate(R.layout.new_task_dialog, null))
    // ..
    return builder.create();
    // ..
}
在MyTaskFragment jave内部还有一个选择器:

public static class TimePickerFragment extends DialogFragment
              implements TimePickerDialog.OnTimeSetListener {
这就是问题所在(选择器内部):

上面的按钮总是返回null并出错,id在布局
R.layout.new\u task\u对话框中。我不明白。

请有人帮助我。

如果出现以下情况,您可能会收到此错误:

  • 您的视图ID选项\u hour有输入错误,与视图ID不匹配 您希望在视图层次结构中找到
  • 有多个片段具有“newTask”ID,但没有 共享相同的布局
  • 您的OnTimeSetListener在片段的 充气()
  • 您的OnTimeSetListener在片段的 调用onCreateView()
  • 正在调用您的OnTimeSetListener,然后才调用您的片段 附加到您的活动中

有关更多详细信息,请参阅此答案:

第一个不能是,因为当用户单击片段内的按钮时,会调用时间选择器,因此首先加载片段,在时间选择器片段之后,当发生在时间集上时,我尝试获取按钮以更改文本。我现在不知道你的可能性是什么,但是非常感谢。你能确认一下打电话给findViewById(R.id.choice_hour)吗;在newTaskFragment类中的膨胀布局上,是否返回对视图的预期引用?
Fragment fragment = getFragmentManager().findFragmentByTag("newTask");
View viewv = fragment.getView();

Button button = (Button) viewv.findViewById(R.id.choice_hour);