0

AdapterView.OnItemLongClickListener と組み合わせた ListFragment でロングタップ ジェスチャが機能しない。ロングタップ選択と今後のシングルタップでの連続選択のようなGMailを実現しようとしています。

以下のように宣言された ListFragment:

public class VacationListFragment extends ListFragment implements View.OnClickListener, 
    ActionMode.Callback, AdapterView.OnItemClickListener, 
    AdapterView.OnItemLongClickListener, AbsListView.MultiChoiceModeListener, {

ListFragment は、以下のように SimpleCursorAdapter を使用して DB からデータをロードします。

mAdapter = new SimpleCursorAdapter(getActivity(), R.layout.vacationlist_row_item, null, 
                  fromColumns, toView, 0);
mVacationListView.setAdapter(mAdapter);

現在のシナリオ:

シングルでは、提供されたメニュー(削除)でCABが表示され、アクションが機能しています。以下に貼り付けたスクリーンショット:

スクリーンショットはこちら

私たちは解決に非常に近づいていると信じており、ご意見をいただければ幸いです。私が教育的でない場合は、お気軽に ping してください。ありがとう。

4

4 に答える 4

0

フラグメントでリスト項目のクリックが必要だと思います。以下のコードを試してください。

  1. このコードをアダプターに追加します。

    mVacationListView.setOnLongClickListener(your fragment instance);
    
  2. フラグメントでオーバーライド メソッドを処理します。

    @Override
    public boolean onLongClick(View v) {
        return false;
    }
    

このようにすると、リスト アイテムのロング クリック リスナーがフラグメントで処理します。

于 2016-03-15T18:08:28.463 に答える
0

サンプル :

textView.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                /*do action */
                return false;
            }
        });
于 2016-03-15T15:02:32.913 に答える
0

以下のコードサンプルで問題を解決できました。LoaderCallbacksおよびMultiChoiceModeListenerと組み合わせたListFragmentの複数選択リストの良い例です。

https://github.com/springbyexample/spring-by-example/blob/master/android/android-client/src/main/java/ua/com/springbyexample/fragment/MainListFragment.java

于 2016-05-11T05:52:58.610 に答える