【发布时间】:2017-02-28 00:09:05
【问题描述】:
这是我读取 json 文件的方法。
private void LoadTabaksFromJson() {
InputStream raw = mContext.getResources().openRawResource(R.raw.tabaks);
Reader reader = new BufferedReader(new InputStreamReader(raw));
ListOfTabaks listOfTodos = new Gson().fromJson(reader, ListOfTabaks.class);
List<Tabak> todoList = listOfTodos.getTodoArrayList();
for (Tabak item: todoList){
mDataBase.insert(TabakTable.NAME,null,getContentValues(item));
}
}
public class ListOfTabaks {
protected ArrayList<Tabak> tabakArrayList;
public ArrayList<Tabak> getTodoArrayList(){
return tabakArrayList;
}
}
还有例外
原因:java.lang.NullPointerException:尝试调用接口 空对象上的方法'java.util.Iterator java.util.List.iterator()' 参考 在 com.hookah.roma.hookahmix.TabakLab.LoadTabaksFromJson(TabakLab.java:61) 在 com.hookah.roma.hookahmix.TabakLab.(TabakLab.java:32) 在 com.hookah.roma.hookahmix.TabakLab.get(TabakLab.java:37) 在 com.hookah.roma.hookahmix.TabakListFragment.updateUI(TabakListFragment.java:38) 在 com.hookah.roma.hookahmix.TabakListFragment.onCreateView(TabakListFragment.java:32) 在 android.support.v4.app.Fragment.performCreateView(Fragment.java:2184) 在 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1298) 在 android.support.v4.app.FragmentManagerImpl.moveFragmentsToInvisible(FragmentManager.java:2323) 在 android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2136)
还有json文件:
{
"tabaksArrayList":[
{
"name":"Абрикос",
"description":"Со вкусом Абрикоса",
"rating":"4.1",
"favourite":"1",
"family":"Al fakher"
},
{
"name":"Ананас",
"description":"Со вкусом Ананаса",
"rating":"4.1",
"favourite":"1",
"family":"Al fakher"
},
{
"name":"Апельсин",
"description":"Со вкусом Апельсина",
"rating":"4.1",
"favourite":"1",
"family":"Al fakher"
},
{
"name":"Апельсин с мятой",
"description":"Со вкусом Апельсина с мятой",
"rating":"4.1",
"favourite":"1",
"family":"Al fakher"
},
【问题讨论】:
-
第 61 行是哪一行?
-
@Prashant 可能是增强 for 循环的行
-
61 : for (Tabak item: todoList){ 我知道由于列表是空的但为什么会出现异常?
标签: java android json nullpointerexception