1

我正在尝试从服务器获取用户在 ListView 中放置的订单,但我总是在这里得到NULL POINTER EXCEPTION:- tName.setText(strName);

要求:

我想在 ListView 中获取所有这些订单

日志状态:

05-23 09:41:05.684: D/CartAdapter(784): MemberID:: 1
05-23 09:41:05.953: D/CartAdapter(784): strMemberID 37
05-23 09:41:05.953: D/CartAdapter(784): strName Samosa(2)(Rs.3.75),Vegetable Pakora(3)(Rs.3.75),Veggie(1)(Rs.5.25),Daal Soup(4)(Rs.3.25),
05-23 09:41:05.953: D/AndroidRuntime(784): Shutting down VM
05-23 09:41:06.034: E/AndroidRuntime(784): Caused by: java.lang.NullPointerException
05-23 09:41:06.034: E/AndroidRuntime(784):  at OrdersActivity.showInfo(OrdersActivity.java:91)

在 PHP 中,我使用以下查询来获取记录:

 $strSQL = "SELECT * FROM order_details WHERE 1 AND MemberID = '".$strMemberID."' ";
4

4 回答 4

1

这是完全错误的实现。

您正在尝试脱离上下文访问 TextView。事实上,activity_orders.xml 中从来不存在任何 tname。

从描述看来,您正在尝试使用基本适配器实现自定义列表视图。膨胀视图后,您必须在 CustomAdapter 的 getView 方法中分配值。

请阅读一些自定义 ListView 的实现。

参考:链接 1 链接 2

于 2013-05-23T05:59:35.420 回答
0

虽然我看不到 xml 布局,但我可以尝试提供帮助。

首先,我会从调试角度转到“断点”视图并单击 J! 图标(异常断点)。输入NullPointerException并按回车键。

现在您的代码将在异常点中断执行,您应该能够看到哪些属性实际上是 null。

另外,通过扩展异常检查是否存在内部异常。之前可能发生过另一个异常,但导致了nullpointerexception

于 2013-05-23T04:38:18.340 回答
0

检查 R.id.txtItemDetails 是否在布局 R.layout.activity_orders 内,因为如果它无法获得对 tName 的引用并且您尝试使用 setText 它将抛出 NULLPOINTEREXCEPTION 因为 tName 不会引用任何东西

于 2013-05-23T05:14:46.867 回答
0

尝试这个:

  1. 在您的showInfo();添加strMemberIDstrNameitemsList
  2. 剪切和粘贴adapter = new OrdersAdapter(this, itemsList);list.setAdapter(adapter);在第 1 点之后
  3. 在充气后OrdersAdapter.java getView()添加视图中,将文本设置为TextView tId = (TextView) vi.findViewById(R.id.txtTotalAmount);itemList
于 2013-05-23T05:44:46.877 回答