2017-01-01 7 views
0

以下のコードでクリックリスナーを設定しましたが、スワイプとテープイベントハンドラは呼び出されません。どんな考え?タッチイベントとスワイプイベントがトリガーされない

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    recyclerView = (RecyclerView) findViewById(R.id.view); 

    getOverflowMenu(); 

    android.support.v4.app.LoaderManager loaderManager = 
     getSupportLoaderManager(); 

    android.support.v4.content.Loader<Cursor> loader = 
     loaderManager.getLoader(loader_id); 

    if (loader != null) 
     loaderManager.initLoader(loader_id, null, this); 
    else 
     loaderManager.restartLoader(loader_id,null,this); 

    recyclerView.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Toast.makeText(getApplicationContext(),"touched",Toast.LENGTH_SHORT).show();; 
     } 
    }); 

    new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) { 
     @Override 
     public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) { 
      Toast.makeText(getApplicationContext(),"moved",Toast.LENGTH_SHORT).show(); 
      return true; 
     } 

     @Override 
     public void onSwiped(RecyclerView.ViewHolder viewHolder, int swipeDir) { 
      long id = (long) viewHolder.itemView.getTag(); 
      remove(id); 
     } 
    }); 
} 
+0

(11) '' COMPLETEとの活動でこれを試してみてください - この宿題ですか? –

+1

あなたはあなたに何をするように人々に求めているのかをもっと考える必要があります。ここで助けが必要な場合は、コードをうまくフォーマットしてください。不要なコメントを削除し、*読みやすいようにします。問題を示すために必要以上に多くのコードを含めないでください。わかりやすく分かりやすい質問をして、知的に述べてください。 – clearlight

答えて

0

リサイクルビュー(おそらくメインのように見える)

private RecyclerView recyclerView; 

ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) { 

     @Override 
     public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) { 
      return false; 
     } 
     @Override 
     public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) { 
      int position = viewHolder.getAdapterPosition(); 
       if (direction == ItemTouchHelper.RIGHT){ 
       Toast.makeText(MainActivity.this, "swiped left", Toast.LENGTH_SHORT).show(); 
      //do something awsome 
      } else { 
       Toast.makeText(MainActivity.this, "swiped right", Toast.LENGTH_SHORT).show(); 
      //do something awesomer 
      } 
     } 

    }; 
    ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleItemTouchCallback); 
    itemTouchHelper.attachToRecyclerView(recyclerView); 


} 
+0

私はそれを試したが動作しなかった –

関連する問題