如何在 android 的选项卡式布局中访问片段中的控件?

How can i access the control in fragment in a tabed layout in android?

我在 android 中创建了一个项目,并使用页面视图和片段创建了一个选项卡布局,并在每个片段(3 个片段)中创建了一个控件 现在问题来了:

oncreate() 方法的 main activity class 中,我想将文本设置为文本视图并使用此代码:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ((TextView)findViewById(R.id.textView1)).setText("fgdfgdfgdf dfgdf");}

应用程序 运行 没有任何错误,但在模拟器中出现此错误 **!unfortunately Test is Stopping**

在日志猫中我明白了!

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference

我认为我在片段中访问控件的方式是错误的 请帮助我,这对我来说很重要

通过 activity 的 onCreate() 方法,您只能获取 activity XML.

上的视图元素

您可以在片段 class 而不是 Activity 上执行此操作:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
    Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_view, container, false);
    TextView textView1 = (TextView) view.findViewById(R.id.textView1);
    textView1.setText("fgdfgdfgdf dfgdf");
    return view;
}