Android视图.findViewById(R.id ....)片段中的nullpointer异常

时间:2016-12-18 16:22:53

标签: java android android-fragments nullpointerexception

我有一个Android应用程序,主要活动上有一个片段。问题是,我无法从片段中调用TextView个对象。

当前代码是

public class MainFragment extends Fragment {

private View view;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_main, container, false);

    this.view = view;
    //populateListView();
    //registerClickCallback();

    TextView text = (TextView) view.findViewById(R.id.main_txt_name);

    if(view == null){System.out.println("view is null");}  //view is not null
    if(text == null){System.out.println("text is null");}  //text is null!

    text.setText("text changed"); //nullpointer exception

    return view;
}

视图对象不为空,但view.findViewById(R.id.main_txt_name);返回null。错误消息是

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

在行

"text.setText("text changed"); //nullpointer exception"

如果我将视图更改为getActivity(),那就是同样的问题。

任何人都知道如何获取layout元素?

1 个答案:

答案 0 :(得分:0)

查看R.id.main_txt_name xml中的R.layout.fragment_main。可能是你的id不是布局xml。