Android 如何访问片段中的UI元素?

Android 如何访问片段中的UI元素?,android,android-fragments,Android,Android Fragments,我有一个带有idR.id.currentCycleIndicator的控件(TextView)的片段,希望通过编程从片段中设置其值 两者 getActivity().findViewById(R.id.currentCycleIndicator)和 getView().findViewById(R.id.currentCycleIndicator) 返回null 如何在片段代码中获取对该文本视图的引用?尝试在片段的onCreateView()回调函数中获取其值,如下所示: @Override

我有一个带有id
R.id.currentCycleIndicator
的控件(TextView)的片段,希望通过编程从片段中设置其值

两者

  • getActivity().findViewById(R.id.currentCycleIndicator)
  • getView().findViewById(R.id.currentCycleIndicator)
返回null


如何在片段代码中获取对该文本视图的引用?

尝试在片段的onCreateView()回调函数中获取其值,如下所示:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {       

    View view = inflater.inflate(R.layout.fragment_layout, container, false);

    TextView textView = (TextView) view.findViewById(R.id.currentCycleIndicator);

    return view;
}

您可以通过覆盖onViewCreated函数来实现,如下所示:

private TextView tv;

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    tv = (TextView) view.findViewById(R.id.currentCycleIndicator);
}

在创建视图的
onCreateView
中膨胀视图,并从那里参考文本视图

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.layoutwheretextviewis, container, false);

            TextView text= (TextView) view.findViewById(R.id.currentCycleIndicator);
            return view;
}

我知道我正在重新打开一个非常旧的线程,,,但是如果我必须从其他活动访问textView怎么办?如何获取当前活动片段的对象?