如何从Fragment里面访问Activity中的TextView呢?

时间:2014-08-10 08:17:55

标签: android android-activity android-fragments textview

我的ActivityA里面包含FragmentA。如何从TextView

访问活动中的Fragment

4 个答案:

答案 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;