我的ActivityA
里面包含FragmentA
。如何从TextView
。
Fragment
答案 0 :(得分:1)
覆盖onViewCreated()
课程中的Fragment
方法,并使用Fragment
View
声明TextView
:
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
ActivityA.text_view= (TextView) view.findViewById(R.id.text_view); // your TextView must be declared as (public static TextView text_view) in the Activity
// now access the TextView as you want
}
答案 1 :(得分:1)
最简单的方法是在Mainactivity中创建一个getter方法,该方法返回文本视图并通过将片段的活动转换为Mainactivity来访问它。
所以在您的主要活动中,
public AppCompatTextView getMyTextView(){
return myTextView;
}
在您的片段中
((MainActivity)getActivity()).getMyTextView()
随便做什么吧。
答案 2 :(得分:0)
您可以使用callbacks
或将您的片段设为inner class
。
对于callbacks
,您需要在活动中实现一些interface
,假设您要更新TextView并在片段的onAttach
方法中更新然后可以使用该接口的引用与活动进行通信。
<强>样品:强>
活动:
public class Question implements MyInterFace
片段中的:
@Override
public void onAttach(Activity activity) {
// TODO Auto-generated method stub
youInterfaceObject = (MyInterFace)activity;
super.onAttach(activity);
}
对于内部类,只需在活动中创建TextView
的全局变量,然后从内部类调用它。
答案 3 :(得分:0)
可能无法用于观看,但请尝试一下:
((MainActivity) getActivity()).textViewName;