我有一个ListFragment我使用注册上下文菜单的地方registerForContextMenu(),我覆盖了onCreateContextMenu(). 问题是onCreateContextMenu()当我长按任何项目时从未调用过。
这是一些代码:
public class List_F extends ListFragment {
@Override
public void onActivityCreated(Bundle arg0) {
super.onActivityCreated(arg0);
registerForContextMenu(getListView());
setListAdapter(...);
setListShown(false);
// launch cursor loader
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getActivity().getMenuInflater();
inflater.inflate(R.menu.menu, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
int i = item.getItemId();
if (i == R.id.menu_item_delete) {
delete(info.id);
return true;
} else {
return super.onContextItemSelected(item); …Run Code Online (Sandbox Code Playgroud) 我试图使用onCreateContextMenu OnCreateContextMenu和ListView项目从列表视图中复制项目文本, 并 从Android上的TextView复制文本, 但我不知道如何将菜单中的副本上的点击与listView相关联.
我当前的代码,打开一个带有副本的菜单,我不知道如何在单击副本后获取文本
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.add(0, v.getId(), 0, "copy");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
if(item.getTitle()=="copy"){}
else {return false;}
return true;
}
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助
listView.setChoiceMode(AbsListView.CHOICE_MODE_MULTIPLE_MODAL);
listView.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() {
@Override
public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.shelf_context, menu);
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return true;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
// some processing...
return true;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
}
});
Run Code Online (Sandbox Code Playgroud)
我的 listView 位于 aFragment内, a位于 a内 …
我是Android开发的新手。我试图将上下文菜单添加到我的应用程序。我了解默认情况下,它需要长按一下按钮才能打开上下文菜单。但是我需要使其显示在单击上。我在stackoverflow中尝试了所有其他解决方案,但没有一个真正对我有帮助。
我已经在下面发布了我的代码。请告诉我要进行哪些修改才能使其正常工作。
public class ThirdActivity extends ActionBarActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.third_layout);
confirmButton = (Button) findViewById(R.id.confirmButton);
registerForContextMenu(confirmButton);
}
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Select Menu");
menu.add(0, v.getId(), 0, "Action 1");
}
public boolean onContextItemSelected(MenuItem item) {
if (item.getTitle() == "Action 1") {
//do something
}
}
Run Code Online (Sandbox Code Playgroud) 我想知道如何在 FirebaseUI 提供的 recyclerview 项目中放置上下文菜单,并且能够在知道长按哪个项目的情况下执行一些操作。因为当我尝试在我的持有者类上使用 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 …Run Code Online (Sandbox Code Playgroud) android android-contextmenu navigation-drawer android-recyclerview firebaseui