2

AlertDialogのを示すcustom-styled-rowを正常に実装しましたCheckedTextViews。アイテムを選択するときに問題が発生します。最後に、順序は での位置によって確立されますListView。ユーザーがリストの一番下からアイテムを選択し、次に一番上からアイテムを選択した場合、 によって与えられる回答はDialog's OnClickListener、一番下からではなく一番上のものから始まります。これらの項目をクリックして並べ替える方法はありますか?

チェックされたアイテムを取得するための私の実装は次のとおりです。

private void setCheckedItems(){

    SparseBooleanArray checkedItems = listView.getCheckedItemPositions();
    if (checkedItems != null) {
        for (int i = 0; i<checkedItems.size(); i++) {
            if (checkedItems.valueAt(i)) {
                mSelectedItems.add(tables[checkedItems.keyAt(i)]);
            }
        }
    }
}

注: を呼び出しOnItemClickListenerてこの問題を回避しようとしListViewましたが、画面のスペースよりも長い位置にあるアイテムもチェックされるようになりました。そのため、最後にlistView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);クリックリスナーの代わりに使用しました。

どうもありがとうございました。

4

0 に答える 0