Uzun tıklatma ListFragment ile çalışıyorum ve bir onListItemClick yapıyor. . Nasıl parçadaki bu kullanabilirim?ListeYazı İzleme
teşekkürler!
Uzun tıklatma ListFragment ile çalışıyorum ve bir onListItemClick yapıyor. . Nasıl parçadaki bu kullanabilirim?ListeYazı İzleme
teşekkürler!
Evet, çözümü) Her şey çalışıyor, ama şimdi bir Aktivitesi için (örneğin setOnItemLongClickListener (yeni OnItemLongClickListener() uzun Öğe tıklayın kullanmak istiyorum . Benim için çalışan tsync tarafından gönderildi Ben de bu mümkün olmadığını aynı sorunla karşılaştık ve kabul etmişti şöyle yukarıdaki öneri denedik.
public class ProjectsFragment extends ListFragment {
@Override
public void onActivityCreated(Bundle savedState) {
super.onActivityCreated(savedState);
getListView().setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
Toast.makeText(getActivity(), "On long click listener", Toast.LENGTH_LONG).show();
return true;
}
});
ve
çalıştı Bu benim
için çalışıyor!Eğer bağlam menüleri için verilen yöntemleri kullanabilirsiniz gerçekleştirmek istediğinize bağlıgetListView().setOnItemLongClickListener(new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> av, View v, int position, long id) {
//Get your item here with the position
return true;
}
});
bunu daha iyi yanıtlar – danny117
Bu kodun, Fragman – Flexicoder
:
İlk uzun (sizin Fragment sınıfının içinde) preslenmiş alır Görünüm sınıfı kaydetmek:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
registerForContextMenu(this.getListView());
}
Bu iki yöntemi uygulamak yerine, bir bağlam menüsü oluşturmak ve bir menü öğesine tıklandığında ne yapmak istediğinizi yapın:
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = this.getActivity().getMenuInflater();
inflater.inflate(R.menu.my_context_menu, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case R.id.add: // <-- your custom menu item id here
// do something here
return true;
default:
return super.onContextItemSelected(item);
}
}
'daki "onViewCreated" bölümüne girmesi gerekir! Sadece setOnItemLongClickListener ile registerForContextMenu birleştiremezsiniz eklemek istiyorum. Bazıları için açık olabilir, ama benim için değil. Ayrıca, satır kimliğinin info.id – Toydor
'dan alınabileceğini bilmek de güzeldi. İlk kez her yanıtı çektim çünkü bu, longclick olayıyla ne yapacağımdı. – danny117
Yolu buldum: getListView(). SetOnItemLongClickListener (yeni OnItemLongClickListener() { \t \t \t @Override \t \t \t kamu boolean onItemLongClick (AdapterView > paramAdapterView, \t \t \t Görünüm paramView, int pozisyonu, uzun paramLong) { // TODO doğru döndürür; } }); – tsync