【发布时间】:2017-11-16 22:36:01
【问题描述】:
在我的应用程序中,我有一个带有自定义适配器的列表视图,该适配器在发送消息后重新加载。该应用程序在某些安装时崩溃。我在应用程序控制台中有堆栈跟踪。代码如下:
class IconicAdapter extends ArrayAdapter<Integer> {
Activity context;
IconicAdapter(Activity context) {
super(context, R.layout.message_layout, listItems);
this.context = context;
}
public View getView(int position, View convertView, ViewGroup parent) {
//you can access layout inflater by accessing hosting activity
convertView = getActivity().getLayoutInflater().inflate(R.layout.message_layout, parent, false);
JSONObject json_data = null;
try {
json_data = jArray.getJSONObject(position);
} catch (JSONException e) {
}
try {
tv = (TextView) convertView.findViewById(R.id.username);
tv.setText(json_data.getString("username"));
这里的堆栈跟踪:
java.lang.NullPointerException:
at com.testing.gold.CommunityFragment$IconicAdapter.getView (CommunityFragment.java:945)
at android.widget.HeaderViewListAdapter.getView (HeaderViewListAdapter.java:232)
第 945 行:tv.setText(json_data.getString("username"));
【问题讨论】:
-
可能你的 json_data 是 null ,打印堆栈跟踪:catch (JSONException e) { }
-
不,堆栈跟踪中没有关于 json 的内容
-
在 catch 中打印 json_data 和 e.printstacktrace。并把日志
-
问题是我无法重现该问题。我只在应用程序控制台中看到它并在那里看到跟踪
标签: android custom-adapter getview