【发布时间】:2014-08-21 00:56:23
【问题描述】:
我有这个让我发疯的 NPE,也许它只是“隧道视觉”,但我无法解决它。我在活动中有一个片段,在活动的onCreate() 中我实例化了片段。然后稍后当片段添加到活动中时,我从活动中调用片段方法。代码如下
transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.ActionInputFragment, settingsFragment).addToBackStack(null);
transaction.commit();
if(jsonUserData != null)
settingsFragment.loadUserData(jsonUserData);
在我拥有的片段中:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
this.ctx = getActivity();
edtFullName = (EditText) getActivity().findViewById(R.id.edtFullNameSettings);
edtFullName.addTextChangedListener(new TextWatcher .....);
}
添加 textwatcher 有效。下面(在同一个片段中)是其调用产生错误的方法:
public void loadUserData(JSONObject jsonUserData) {
String fullName;
try {
fullName = String.format("%s %s", jsonUserData.getString("first_name"), jsonUserData.getString("last_name"));
} catch (JSONException e) {
fullName = "";
}
//if(edtFullName != null)
this.edtFullName.setText(fullName);
}
我已经检查了布局并且 editText id 在那里。
【问题讨论】:
标签: android nullpointerexception android-edittext