【发布时间】:2018-07-13 01:10:30
【问题描述】:
我已将此代码与 json 对象一起使用。现在我用的是 sqlite,它有 NPE 错误。
Cursor newRes = myDb.getAllData();
while (newRes.moveToNext()) {
Product product = new Product(Integer.parseInt(newRes.getString(0).toString()), Integer.parseInt(newRes.getString(1).toString()), newRes.getString(2).toString(),
newRes.getString(3).toString(), newRes.getString(4).toString(), newRes.getString(5).toString(), Double.parseDouble(newRes.getString(6).toString()), newRes.getString(7).toString());
productTransList.add(product);
}
adapter = new ProductAdapter(mCtx, productTransList);
transRecyclerView.setAdapter(adapter);
编辑
07-13 09:05:29.763 13314-13351/com.example.arlene.capsmobile E/libdataflow_monitor: open error=Operation not permitted
07-13 09:05:31.542 13314-13314/com.example.arlene.capsmobile E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.arlene.capsmobile, PID: 13314
java.lang.NullPointerException: Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null object reference
at com.example.arlene.capsmobile.translistTab.loadTransList(translistTab.java:135)
at com.example.arlene.capsmobile.translistTab.onCreate(translistTab.java:72)
productTransList.add(product); 行出错
【问题讨论】:
-
在 logcat 中找到堆栈跟踪,它将指向导致崩溃的行。您可以在此处发布堆栈跟踪。
-
@Geros 在
productTransList.add(product);行出错 -
您必须确保该列表已初始化。
-
是的。 ` 列表 productTransList; RecyclerView transRecyclerView; private ProductAdapter 适配器;`关于被初始化没有错误。
-
根据您评论中的代码(上面),您只是在没有初始化的情况下声明了它,这是一个有效的 java 语句,但默认情况下它们的值是
null,因此您必须专门为这样的列表分配值productTransList = new ArrayList<>();
标签: android sqlite android-recyclerview adapter getter