Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何创建浮动上下文菜单?_Java_Android - Fatal编程技术网

Java 如何创建浮动上下文菜单?

Java 如何创建浮动上下文菜单?,java,android,Java,Android,当我点击一个按钮时,我想打开一个菜单。我试图创建一个浮动上下文菜单,但当我按下按钮时,什么也没发生 MainActivity.java public class MainActivity extends ListActivity { private Button button1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInst

当我点击一个按钮时,我想打开一个菜单。我试图创建一个浮动上下文菜单,但当我按下按钮时,什么也没发生

MainActivity.java

public class MainActivity extends ListActivity {

    private Button button1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button1 = (Button)findViewById(R.id.button1);

        registerForContextMenu(button1);
    }

    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main, menu);
        return true;
    }

    public boolean onOptionsItemSelected(MenuItem item)
    {
        switch (item.getItemId())
        {
            case R.id.item1:
                function();
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }
}
main.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.prounitconverter.prounitconverter.MainActivity" >

    <item android:id="@+id/item1"
        android:title="@string/action_settings"
        android:orderInCategory="100"
        app:showAsAction="never" />
</menu>


另外,如何为两个不同的按钮创建两个菜单?

对于两个不同的菜单,创建两个不同的xml文件,并将其命名为不同的名称,然后按名称将其放大。。。。要遵循的代码

至于按钮,您没有onclick方法

这需要在初始化按钮后在onCreate中

this.button1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
            //open your menu here
            }
        });
this.button2.setOnClickListener(新的OnClickListener(){ @凌驾 公共void onClick(视图v){ //在这里打开菜单 }
});

如果要查找简单的下拉菜单,请使用:


我试图使用这个.button1.setOnClickListener(新的OnClickListener(){@Override public void onClick(视图v){registerForContextMenu(按钮1);openContextMenu(v);}}});,但它不起作用。
//anchorView - any view, where you want show menu
PopupMenu popupMenu = new PopupMenu(anchorView.getContext(), anchorView);
popupMenu.inflate(R.menu.my_menu_xml);
popupMenu.show();