1

私の質問をより理解しやすくするために、私の見解のイメージから始めましょう。

ここに画像の説明を入力

リスト ビューをカスタマイズした Menu という名前の xml ファイルがあります。以下のように、MenuCell という名前の別の xmlview を作成しました。
ここに画像の説明を入力

追加ボタンをタップすると、アイテムがカートに追加されます。クリックイベントでカートの値(右上隅)を更新しないことを除いて、これは完全に正常に機能しています。しかし、別のビューに移動してこの時点でこのビューに戻ると、カートに追加されたアイテムの数が正しく反映されます。では、arradepter ビューの ImageButton をタップしたときに、どうすればコントローラービューをリロードできますか。

これは私のアダプターコードです

holder.imageButton1.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {

                addItem(position);
                notifyDataSetChanged();
            }
        });

void addItem(int position) {

        count++;
        }

count はアイテムの追加数です。

私のarrayadpterクラスのこのカウントを、実際のリストビューを保持する他のコントローラークラスにどのように反映できるかを誰かが知ることができれば。

どんな助けでも大歓迎です

前もって感謝します。

4

4 に答える 4

0

アダプターのデータを更新してから notifyDataSetChanged(); を呼び出す必要があるため、リストは現時点では更新されていません。

textview に表示される配列にデータがあるとします。関数 addItem でデータを ur 配列に追加し、notifyDataSetChanged(); を呼び出します。これにより、含まれているウォーターエバー データが変更されたため、更新する時間がリスト ビューにすぐに通知されます。

あなたがあなたのアダプターコードをもっと貼り付けることができれば、私は役に立ちます

于 2013-08-27T09:53:56.967 に答える
0

コントローラーの参照をリスト アダプター クラスに送信します。コントローラーには、いくつかのデータを計算するメソッドがあり、その後、カート データの概要を保持するビューを更新すると思います。更新が UI スレッド上にあることを確認してください。

于 2013-08-27T09:22:39.893 に答える
0

後:
notifyDataSetChanged();
追加するだけです:
YourList.invalidateViews();
YourList.scrollBy(0, 0);

于 2013-08-27T09:27:24.650 に答える
0

アクティビティに通知するにはコールバック機能を使用する必要があるため、追加ボタンはリスト コンポーネントの一部であるため、リスト ビューを更新できます。

インターフェイスを使用したコールバックを理解するためのいくつかのリンクを次に示します

http://cleancodedevelopment-qualityseal.blogspot.in/2012/10/understanding-callbacks-with-java.html


http://stackoverflow.com/questions/11577695/what-is-a-call-back-interface-in-java
于 2013-08-27T09:25:31.733 に答える