从MyClass访问片段视图

时间:2014-04-16 06:50:33

标签: android view

假设我有一个名为MyClass.java的类,而Fragment名为MyFragment,MyFragment包含一些视图,如spinners,editText。

问题是如何从MyClass访问这些视图,

我尝试过这样的事情。

public class MyClass{
private EditText mEditText ;
public MyClass(EditText text) {
    mEditText = text;
}
}

我在片段上创建了一个对象,但仍然有错误:

04-16 14:38:59.038: E/AndroidRuntime(25902): Caused by: java.lang.NullPointerException

2 个答案:

答案 0 :(得分:0)

如果您确实需要从完全独立的类访问片段中的小部件,可以将它们声明为公共静态对象,但这可能会产生问题

答案 1 :(得分:0)

你的问题更多的是java问题,而不是android问题。

将片段对象传递给MyClass。例如,

public class MyClass{
private EditText mEditText ;
private Fragment mFragment;
public MyClass(EditText text, Fragment frag) {
    mEditText = text;
    mFragment = frag;

    // Then you can access the view in your fragment
    // But make sure the fragment already created the view, otherwise you will get null returned
    mFragment.getView().findViewById(R.id.myeditview);
}
}