Android片段问题:getView()返回null

时间:2013-07-06 21:04:07

标签: android android-fragments

我们的应用程序有几个片段。在其中一个用户填写几个TextEdit字段。当他完成时,他按下ActionBar中的一个按钮来保存数据。 Action只调用名为“saveData”的私有方法,该方法从字段中提取所有数据并将其提交给我们的服务器。

我们的用户有很多堆栈跟踪,显示getView()在saveData方法中返回null,但只是其中的一小部分。对于大多数人来说,根本没有问题。我们无法重现问题,我们无法理解可能导致问题的原因。代码非常简单:

View vw = this.getView();

EditText et;

et = (EditText)vw.findViewById(R.id.editEmail);
String email = et.getText().toString().trim();

et = (EditText)vw.findViewById(R.id.editPassword);
String password = et.getText().toString().trim();

操作在osResume中添加,见下文:

public void onResume() {
    super.onResume();

    MainActivity act = (MainActivity)this.getActivity();

    act.bar.removeAllActions(); 
    act.bar.addAction(new SaveAction()); 
}

有什么想法吗?我们怎样才能重现它?

1 个答案:

答案 0 :(得分:0)

您能从日志中判断问题是否始终针对相同的用户/设备?

我从代码中看到你提交的视图是在同一个片段中 - 实际情况是这样吗?

可能的是,不再在视图中的片段可以破坏其视图以释放资源。例如

getView() returns null

如果我怀疑可能是这种情况,那么我会尝试在资源有限的手机/平板电脑/模拟器上重新创建问题。

祝你好运!