Как использовать контекстное меню для элемента recyclerview, предоставленного firebaseuiAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как использовать контекстное меню для элемента recyclerview, предоставленного firebaseui

Сообщение Anonymous »

Я хотел бы знать, как поместить контекстное меню в элемент recyclerview, предоставленный FirebaseUI, и иметь возможность выполнять некоторые действия, зная, какой элемент был нажат долгое время. Потому что, когда я пытаюсь использовать onCreateContextMenu в своем классе держателя, мой ContextMenuInfo получает нулевое значение.
Вот мой класс держателя:
public class PlayerHolder extends RecyclerView.ViewHolder implements View.OnCreateContextMenuListener {
//private static final String TAG = PlayerHolder.class.getSimpleName();
public TextView playerName;
public TextView playerAge;

public PlayerHolder(View itemView) {
super(itemView);
playerName = (TextView) itemView.findViewById(R.id.player_name);
playerAge = (TextView) itemView.findViewById(R.id.player_age);
itemView.setOnCreateContextMenuListener(this);
}

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
menu.add(0, 1, 0, "Edit");//groupId, itemId, order, title
menu.add(0, 2, 0, "Share");
menu.add(0, 3, 0, "Delete");
}

//@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView .AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case 1:
//editNote(info.id);
return true;
case 2:
//shareNote(info.id);
return true;
case 3:
//deleteNote(info.id);
return true;
default:
//return super.onContextItemSelected(item);
return false;
}
}
}

а это мой класс адаптера переработчика Firebaseui:
public class PlayerAdapter extends FirebaseRecyclerAdapter {

private static final String TAG = PlayerAdapter.class.getSimpleName();
private Context context;

public PlayerAdapter(Class modelClass, int modelLayout, Class viewHolderClass, DatabaseReference ref, Context context) {
super(modelClass, modelLayout, viewHolderClass, ref);
this.context = context;
}

@Override
protected void populateViewHolder(PlayerHolder viewHolder, Player model, int position) {

viewHolder.playerName.setText(model.getName());
viewHolder.playerAge.setText(String.valueOf(playerAge) + " Years");
}
}


Подробнее здесь: https://stackoverflow.com/questions/401 ... firebaseui
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»