1

サーバーから 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."' ";
4

4 に答える 4

1

これは完全に間違った実装です。

コンテキスト外で TextView にアクセスしようとしています。実際、あなたの activity_orders.xml には tname が存在しません。

説明から、ベース アダプターを使用してカスタム リスト ビューを実装しようとしているように見えます。ビューをインフレートした後、CustomAdapter の getView メソッドで値を割り当てる必要があります。

Custom ListView の実装を読んでください。

参照:リンク 1 リンク 2

于 2013-05-23T05:59:35.420 に答える
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 に答える
0

xml レイアウトは表示されませんが、お手伝いできることはあります。

まず、デバッグの観点から、「ブレークポイント」ビューに移動し、J! をクリックします。アイコン (例外ブレークポイント)。と入力しNullPointerExceptionてエンターを押します。

これで、コードは例外の時点で実行を中断し、どのプロパティが実際に null であるかを確認できるはずです。

また、例外を展開して内部例外があるかどうかを確認します。以前に別の例外が発生した可能性がありますが、nullpointerexception

于 2013-05-23T04:38:18.340 に答える