我有一个带有 id 控件(TextView)的片段,R.id.currentCycleIndicator
并希望从片段中以编程方式设置其值。
两个都
getActivity().findViewById(R.id.currentCycleIndicator)
和getView().findViewById(R.id.currentCycleIndicator)
返回空值。
如何在片段代码中获取对该 TextView 的引用?
我有一个带有 id 控件(TextView)的片段,R.id.currentCycleIndicator
并希望从片段中以编程方式设置其值。
两个都
getActivity().findViewById(R.id.currentCycleIndicator)
和getView().findViewById(R.id.currentCycleIndicator)
返回空值。
如何在片段代码中获取对该 TextView 的引用?
尝试在 Fragment 的 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
并从那里引用您的 TextView 。
@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;
}