0

とを含む をBaseAdapter示すカスタムがあります。には、テキストをクリックしたときに特定のアクションを実行するためのが実装されています。アダプター内に、チェックされたアイテムを追跡する登録があります(リサイクルのため)。ListViewTextViewCheckBoxTextViewOnClickListenerOnCheckedChangeListenerListView

ActionModeチェックを入れると起動し、チェックCheckBoxを外すと停止したい。

チェックが行われたことをアダプタをホストするメイン アクティビティに通知するにはどうすればよいですか?

4

2 に答える 2

1

次のようなリスナー コールバック インターフェイスを作成します。

public interface ListenerCheckBox
{
    public void onRowChecked(int rowNun);
}

次に、メイン アクティビティにこのリスナーを実装させます。

public class ActivityMain implements ListenerCheckBox

次に、カスタム BaseAdapter をインスタンス化するときに、リスナーを渡します。

//kv 3rd parameter would be listener
CustomBaseAdapter customBaseAdapter = new CustomBaseAdapter(this, items, this);

次に、CustomBaseAdapter のコンストラクターで、メンバー フィールドをリスナーに設定します。

public CustomBaseAdapter(Context context, ArrayList<Item> items, ListenerCheckBox listenerCheckBox)
{
    mListenerCheckBox = listenerCheckBox;
    ...
}

次に、アイテムがチェックされるたびに、次を呼び出します。

mListenerCheckBox.onRowChecked(rowNum);
于 2014-07-12T00:35:52.180 に答える