Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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 Android弹出菜单未定位到操作栏上的按钮_Java_Android_Layout_Android Actionbar_Popupmenu - Fatal编程技术网

Java Android弹出菜单未定位到操作栏上的按钮

Java Android弹出菜单未定位到操作栏上的按钮,java,android,layout,android-actionbar,popupmenu,Java,Android,Layout,Android Actionbar,Popupmenu,我在Android上创建弹出菜单时遇到问题。实际上,我想动态加载弹出窗口,但当我执行应用程序时,菜单不在屏幕上,并且没有固定在按钮上…为什么 这是一个需要理解的屏幕: 这是我用来创建弹出菜单的摘要代码: public class MainActivity extends FragmentActivity { PopupMenu select_job; @Override protected void onCreate(Bundle savedInstanceStat

我在Android上创建弹出菜单时遇到问题。实际上,我想动态加载弹出窗口,但当我执行应用程序时,菜单不在屏幕上,并且没有固定在按钮上…为什么

这是一个需要理解的屏幕:

这是我用来创建弹出菜单的摘要代码:

public class MainActivity extends FragmentActivity
{
    PopupMenu select_job;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
         //...
         View view = inflater.inflate(R.layout.my_custom_layout ,null);
         select_job = new PopupMenu(this, view);
         select_job.getMenu().add("ProvaLavoro");
    }

    public boolean onOptionsItemSelected(MenuItem item)
    {
        switch(item.getItemId())
        {
            case R.id.popupmenu:
                select_job.show();
                break;
        }
    }
}
这是my_custom_layout.xml,用于为whitin充气:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/txtNameJobND"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="0dp"
        android:textColor="#111"
        android:textStyle="bold"/>

</RelativeLayout>

我做错了什么

谢谢

         select_job = new PopupMenu(this, view);
在这里,视图是弹出菜单的定位点。您应该将MenuItem(R.id.popupmenu)作为锚传递

我自己还没有做过(将弹出菜单定位到Actionbar项目),但我认为这应该是它背后的想法

从Android文档中:

公共弹出菜单(上下文、视图锚定)

在API级别11中添加

构造一个新的弹出菜单

参数

上下文:弹出菜单的上下文


锚定:此弹出窗口的锚定视图。如果有空间,弹出窗口将显示在锚点下方,如果没有空间,弹出窗口将显示在锚点上方

谢谢!但我还有一个问题:如何在视图中传递菜单项?PopupMenu只接受一个视图(R.id.PopupMenu不是视图)…我在这里找到了答案,我想:)谢谢!我稍后再试!我现在不在家:)