gefunden werden kann
Basierend auf meiner Erfahrung muss ichnicht haben, um das Kontextmenü anzuzeigen, wird View.OnCreateContextMenuListener
das für mich tun.
Hier ist mein Arbeitscode:
public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnCreateContextMenuListener {
public TextView name;
public ViewHolder(View itemLayoutView) {
super(itemLayoutView);
name = (TextView) itemLayoutView.findViewById(R.id.rvname);
itemLayoutView.setOnClickListener(this);
itemLayoutView.setOnCreateContextMenuListener(this);
}
@Override
public void onClick(View v) {
String location = name.getText().toString();
Intent goFlip = new Intent(RecyclerAdapter.context, FlipActivity.class);
Bundle bundle = new Bundle();
bundle.putString("name", location);
bundle.putInt("pos", getAdapterPosition());
goFlip.putExtras(bundle);
context.startActivity(goFlip);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
menu.setHeaderTitle("Select Action");
MenuItem edit = menu.add(Menu.NONE,1,1,"Edit");
MenuItem delete = menu.add(Menu.NONE,2,2,"Delete");
edit.setOnMenuItemClickListener(onChange);
delete.setOnMenuItemClickListener(onChange);
}
private final MenuItem.OnMenuItemClickListener onChange = new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()){
case 1:
Toast.makeText(context,"Edit",Toast.LENGTH_LONG).show();
return true;
case 2:
Toast.makeText(context,"Delete",Toast.LENGTH_LONG).show();
return true;
}
return false;
}
};
}
Ich mag auch den Link teilen, dass ich diese Arbeit machen gefunden: https://gist.github.com/gauravat16/e8e03496a4056829e65dede3c236da28
Genau das, was ich suchte. Ich danke dir sehr. –