Как использовать контекстное меню для элемента 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»