假设我有一个名为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
答案 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);
}
}