1

カスタムアダプターを備えた拡張可能なリストビューを備えたActivity1があります。

そのアダプター クラスでは、展開可能なリスト ビューの子アイテム内のボタンの onClick イベントをキャプチャし、展開可能なリストの選択された子アイテムに関するデータをActivity2に渡す必要があります。Activity2 では、ユーザーがいくつかの選択を行い、完了したら結果を取得する必要があります。 (Activity2が終了したとき)アダプタークラスで、どのように実現できますか?

アダプター クラスで作業すると、新しいスレッドでのみ Activity2 を開始できるため、StartActivityForResult を呼び出すことはできません...

共有変数を作成してどこでも使用できる方法があることを願っていますが、方法がわからない..助けてください!

4

4 に答える 4

1

OnClickListenerアクティビティでクラスを作成してアダプターに渡すことができます。アダプターのボタンに設定します。ボタンをクリックすると、彼のリスナーが起動し、あなたが望むことを何でもします。いくつかのパラメーターを渡す必要がある場合は、単にオーバーライドOnClickListenerして、必要なすべてのパラメーターを取得します。

次のように書くことができますonClickListener( の例なListActivityので、 getListView をあなたの に変更してくださいListView):

private OnClickListener mEditClickListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
        int position = getListView().getPositionForView(v);
    }
}
于 2013-06-16T11:33:33.013 に答える
0

アクティビティから通常のクラスに結果を戻したい場合は、それがカスタム アダプターを含むクラスであると想定します。

  1. アクティビティに参加していないため、startActivityForResult を使用できません
  2. 私がしたことは、意図を持ってクラスからアクティビティを開始したことです。それから私は私がしなければならないことを計算したり実行したりしました。このアクティビティから、メソッド MainActivity.the_method() で想定されるメイン クラスに情報を送信し、メイン アクティビティでカスタム アダプタを変更し、アダプタ オブジェクトを使用して adapter.getItem(position) を呼び出す必要があることを行いました。

これがあなたにアイデアを与えることを願っています

于 2014-12-01T09:35:08.610 に答える