空指针异常-显示用户在服务器的ListView中下的订单



我试图从服务器获取用户在ListView中下的订单,但我总是得到NULL POINTER EXCEPTION此处:-tName.setText(strName(

要求:

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

Logcat状态:

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."' ";

这是完全错误的实现。

您正试图断章取义地访问TextView。事实上,您的activity_orders.xml中从未存在任何tname。

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

请阅读Custom ListView的一些实现。

参考文献:链接1链路2

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

首先,在debug透视图中,转到"断点"视图并单击J!图标(异常断点(。键入NullPointerException并点击回车键。

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

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

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

试试这个:

  1. 在您的showInfo();中,在itemsList中添加strMemberIDstrName
  2. 在点1之后剪切并粘贴adapter = new OrdersAdapter(this, itemsList);list.setAdapter(adapter);
  3. 在您的OrdersAdapter.java getView()中,在膨胀视图后添加TextView tId = (TextView) vi.findViewById(R.id.txtTotalAmount);,从itemList设置文本

相关内容

最新更新