我们的应用程序有几个片段。在其中一个用户填写几个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());
}
有什么想法吗?我们怎样才能重现它?
答案 0 :(得分:0)
您能从日志中判断问题是否始终针对相同的用户/设备?
我从代码中看到你提交的视图是在同一个片段中 - 实际情况是这样吗?
可能的是,不再在视图中的片段可以破坏其视图以释放资源。例如
如果我怀疑可能是这种情况,那么我会尝试在资源有限的手机/平板电脑/模拟器上重新创建问题。
祝你好运!