NullPointerException来自其父活动的片段内的EditText的findViewByID

时间:2014-05-21 15:36:19

标签: java android android-fragments nullpointerexception navigation-drawer

我在这里遇到问题,当我尝试在 layout_fragment.xml 中的NullPointerException内设置文字时,我收到了EditText

我在findViewById(R.id.TextView)的片段父作业中使用onCreate()

活动已实施抽屉导航, layout_fragment.xml 属于其中第一个显示的片段。

Navigation.class

EditText edt_nome;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.navigation);
    Intent intent = getIntent();
    edt_nome = (EditText)findViewById(R.id.home_nome);
    edt_nome.setText("someText");
}

由于保密协议,代码并不多,而且简化了。

3 个答案:

答案 0 :(得分:0)

我认为您正在尝试提前访问活动而不是创建活动。

所以移动此代码

    edt_nome = (EditText)findViewById(R.id.home_nome);
edt_nome.setText("someText");

到onActivityCreated,我认为应该解决这个问题 如果没有,请发布异常详情。

答案 1 :(得分:0)

你无法编辑任何类似的小部件。 我建议处理 片段并实施   onCreateView()

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        rootView = inflater.inflate(R.layout.FRAGMENT_LAYOUT, container, false);
        EditText et;
        et = (EditText) rootView.findViewById(R.id.EditText);
        et.setText("SomeText");
        (...)
      }

关于上一个答案,请看一下这个主题:

Android Fragment onCreateView vs. onActivityCreated

答案 2 :(得分:0)

如果您在layout_fragment.xml中声明了<EditText>,则必须使用setContentView(R.layout.layout_fragment);来处理EditText