1

Android eğitimine göreceli olarak yeniyken ve SQL'in nasıl çalıştığına dair bir fikir edinmek istediğim için bu eğiticiyi (http://www.startingandroid.com/how-to-use-sqlite-database-in-android/) takip ettim. Ben geliştirmeye çalıştığım bir uygulama için CardView ve RecyclerView kullanmak için arıyorum, bu öğretici bana başlamakta çok yardımcı oldu. Bununla birlikte, 'Favori' veya 'Sil' seçili öğeleri yapabilmek için 'İçeriğe Dayalı Eylem Çubuğu'nu daha ileri gittim ve uyguladık (bunun için benim kodum aşağıda görülebilir). Yani, sorum şu ki, seçilen öğenin konumunu nasıl alabilirim ve SQL ID'yi bundan nasıl çıkarabilirim ve CAB ile çoklu seçim yapmayı nasıl başarabilirim?Android Bağlamsal İşlem Çubuğu - Get RecyclerView Pozisyon

@Override 
public UserViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.user_row, parent, false); 
UserViewHolder userViewHolder = new UserViewHolder(v); 

v.setClickable(true); 

v.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     Snackbar.make(v, "CLICK", Snackbar.LENGTH_SHORT).show(); 
    } 
}); 

v.setOnLongClickListener(new View.OnLongClickListener() { 
    @Override 
    public boolean onLongClick(View v) { 
     Snackbar.make(v, "LONG CLICK", Snackbar.LENGTH_SHORT).show(); 
     if (mActionMode != null) { 
      return false; 
     } 
     v.startActionMode(new ActionMode.Callback() { 
      @Override 
      public boolean onCreateActionMode(ActionMode mode, Menu menu) { 
       MenuInflater inflater = mode.getMenuInflater(); 
       inflater.inflate(R.menu.context, menu); 
       return true; 
      } 

      @Override 
      public boolean onPrepareActionMode(ActionMode mode, Menu menu) { 
       return false; 
      } 

      @Override 
      public boolean onActionItemClicked(ActionMode mode, MenuItem item) { 
       //get number of selected items 

       switch (item.getItemId()) { 
        case R.id.context_favourite: 
         //SQL - Favourite Item 
         mode.finish(); 
        case R.id.context_delete: 
         //SQL - Delete Item 
         mode.finish(); 
       } 
       return false; 
      } 

      @Override 
      public void onDestroyActionMode(ActionMode mode) { 
       mActionMode = null; 
      } 
     }); 
     return true; 
    } 
}); 
return userViewHolder; 
} 

cevap

0

Aynı sorun vardı, imlecin vizördeki kimliğini kaydetmesi bitti. Bunu, createviewholder işlevini kullanarak gerçekleştirin func

İlgili konular