7

Malzeme Tasarımı Gezinme Çekmecesi geliştiriyorum. Kullanıcının liste öğelerini tıklatması için RecyclerItemClickListener implements RecyclerView.OnItemTouchListener sınıfında yeni bir sınıf oluşturdum.Android'de RecyclerView ile setItemChecked (position, true) nasıl uygulanır?

mRecyclerView.addOnItemTouchListener(
      new RecyclerItemClickListener(this, mRecyclerView, new RecyclerItemClickListener.OnItemClickListener() { 
       @Override 
       public void onItemClick(View view, int position) {// do whatever 
        if(position!=0){ 
         setItemChecked(position, true); 
         setSelectable(true); 
         boolean isSelected = view.isSelected(); 
         view.setActivated(isSelected); 

         selectItem(position); 
        } 
       } 
       @Override 
       public void onItemLongClick(View view, int position){ 
        // ... 
       } 
      }) 
    ); 

ben bu blog yayınında bu kodu tabanlı: Ben bu şekilde MainActivity sınıfın onCreate yöntem dahilinde sınıfını kullanın RecyclerView part 2 ama işi almak değil, ve bana bu hiç nasıl olduğumu üzerinde net değil Çalışması gerekiyordu. Aynı zamanda bu kolay görünen çözümü de inceledim: Innodroid - Tracking Selected Item in RecyclerView (ayrıca bu answer'da alıntılanmıştır) ancak MyAdapter sınıfımı TrackSelectionAdapter sınıfına nasıl türetmem gerektiği açık değil.

Liste öğelerini vurgulamanın en iyi yolu nedir? Sıkıştım.

Lütfen

Yardım edin.

cevap

7

Bence, RecyclerView'ın ihtiyaç duyduğumuz tüm işlevlerle ve hiçbir kütüphaneyle birlikte kullanılmadığına dair en iyi öğreticiyi buldum (tek + çok noktaya vurma, vurgulama, dalgalanma, tıklama ve çıkarma, vb.). İlk bakışta iyi açıklanmış gibi görünüyor.

İşte ->http://enoent.fr/blog/2015/01/18/recyclerview-basics/

Sonunda denemek için zaman buldum ve hatta kendi daha esnek, herkes benim iyileştirmeler yararlanabilir oluşturulan [DÜZENLE]: https://github.com/davideas/FlexibleAdapter. Bu bağlantıda, nasıl çalıştığını da açıklarım. Lütfen bir göz atın ve projenize eklemek için çekinmeyin.

+0

Bu eğitim için çok teşekkür ederim, bana çok yardımcı oldu! 'MyAdapter' sınıfını uyguladıktan sonra' CickListener' arayüzünü 2 yöntemle çalıştırabilirsiniz onItemClick' ve 'onItemLongClick' ve bir cazibe gibi çalıştı! –

İlgili konular