Java 如何从Onclickitem膨胀关联菜单?

Java 如何从Onclickitem膨胀关联菜单?,java,android,android-contextmenu,Java,Android,Android Contextmenu,我正试图从这段代码中扩展上下文菜单。然而,只要我点击一个项目,程序就会运行,什么都不会发生。这是我正在使用的代码。你能帮我弄清楚怎么了吗?我试图打开的菜单名为“testmenu” package com.carouseldemo.main; 导入com.carouseldemo.controls.Carousel; 导入com.carouseldemo.controls.CarouselAdapter; 导入com.carouseldemo.controls.CarouselItem; 导入co

我正试图从这段代码中扩展上下文菜单。然而,只要我点击一个项目,程序就会运行,什么都不会发生。这是我正在使用的代码。你能帮我弄清楚怎么了吗?我试图打开的菜单名为“testmenu”

package com.carouseldemo.main;
导入com.carouseldemo.controls.Carousel;
导入com.carouseldemo.controls.CarouselAdapter;
导入com.carouseldemo.controls.CarouselItem;
导入com.carouseldemo.controls.CarouselAdapter.OnItemClickListener;
导入com.carouseldemo.controls.CarouselAdapter.OnItemSelectedListener;
导入com.carouseldemo.main.R;
导入android.app.Activity;
导入android.media.MediaPlayer;
导入android.os.Bundle;
导入android.view.ContextMenu;
导入android.view.ContextMenu.ContextMenuInfo;
导入android.view.Gravity;
导入android.view.LayoutInflater;
导入android.view.MenuInflater;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.view.ViewGroup;
导入android.widget.TextView;
导入android.widget.Toast;
公共类MainActivity扩展活动实现OnClickListener{
@凌驾
public void onCreateContextMenu(ContextMenu菜单、视图v、ContextMenuInfo菜单信息){
super.onCreateContextMenu(menu,v,menuInfo);
MenuInflater充气机=getMenuInflater();
充气机。充气(R.menu.testmenu,menu);
}
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MediaPlayer mp=MediaPlayer.create(这个,R.raw.radio);
mp.start();
Carousel Carousel=(Carousel)findViewById(R.id.Carousel);
carousel.setOnItemClickListener(新建OnItemClickListener(){
public void onItemClick(旋转木马父级、视图、,
int位置,长id){
registerForContextMenu(视图);
openContextMenu(视图);
}
@凌驾
public void onCreateContextMenu(ContextMenu,视图v,
请告诉我,什么时候发短信{
//TODO自动生成的方法存根
}
});
carousel.setOnItemSelectedListener(新的OnItemSelectedListener(){
已选择公共空视图(旋转木马父级、视图、,
内部位置,长id){
最终文本视图txt=(文本视图)(findViewById(R.id.selected_项));
开关(位置){
案例0:
txt.setText(“电源国际”);
打破
案例1:
txt.setText(“电源国际”);
打破
案例2:
txt.setText(“电源国际”);
打破
案例3:
setText(“电源国际”);
打破
案例4:
txt.setText(“电源国际”);
案例5:
txt.setText("电源国际电源国际电源国际电源国际电源国际电源国际电源国际电源国际电源国际电源国际电源国际电源国际电源国际电源国际电源国际电源国际电源国际电源国际电源国际电源(e)国际);
打破
}
}
未选择公共无效(旋转木马父对象){
}
}
);
}
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
}
}
如果有帮助,下面是菜单的代码

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/new_game"
      android:icon="@drawable/cat"
      android:title="@string/new_game"
      android:showAsAction="ifRoom" android:checkable="true" android:enabled="true"         android:visible="true"/>
<item android:id="@+id/help"
      android:icon="@drawable/cat"
      android:title="@string/help" />


如何在“活动”中打开此菜单?当我单击某个项目时,该菜单将不会出现。

您可能应该取出空的
onCreateContextMenu()
(不会膨胀任何内容的菜单)。并在
onItemClick()
中放入调试语句,例如
Toast
(确保调用
.show())
在Toast上。要查看是否首先调用了该方法。哪一个?super.onCreateContextMenu(menu,v,menuInfo);“还是“@Override public void onCreateContextMenu(ContextMenu,View v,ContextMenuInfo menuInfo){//TODO自动生成的方法存根}
//TODO自动生成的方法存根
表示它是carousel.setOnItemClickListener(新的OnItemClickListener()继承的抽象方法{当我删除它时,它要求我重新实现它。你已经破案了!非常感谢你,你不知道到目前为止你帮助了我多少,而其他人都不知道。如果不是太麻烦的话,我可以问一下,如何仅在单击六项中的一项时才打开此菜单吗?以及在单击其他每项时打开一个独立的单独菜单点击?再一次,我真的非常感谢你。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/new_game"
      android:icon="@drawable/cat"
      android:title="@string/new_game"
      android:showAsAction="ifRoom" android:checkable="true" android:enabled="true"         android:visible="true"/>
<item android:id="@+id/help"
      android:icon="@drawable/cat"
      android:title="@string/help" />