Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.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/3/android/209.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中从arraylist将静态菜单变为动态菜单_Java_Android_Android Layout_Listview_Menuitem - Fatal编程技术网

Java 在android中从arraylist将静态菜单变为动态菜单

Java 在android中从arraylist将静态菜单变为动态菜单,java,android,android-layout,listview,menuitem,Java,Android,Android Layout,Listview,Menuitem,我有一个popup_menu.xml,它有3个静态项标记,所以这3个项的值显示在弹出菜单中,但我有一个arraylist,它有几个我想在弹出菜单中显示的值 我只想显示markersArray中可用的carnames,而不是popup_menu.xml中可用的静态项值 Array List array for(int i=0; i<markersArray.size(); i++){ String caname = markersArray.get(i).get

我有一个popup_menu.xml,它有3个静态项标记,所以这3个项的值显示在弹出菜单中,但我有一个arraylist,它有几个我想在弹出菜单中显示的值

我只想显示markersArray中可用的carnames,而不是popup_menu.xml中可用的静态项值

Array List array 


for(int i=0; i<markersArray.size(); i++){
            String caname = markersArray.get(i).getCarname();
    }

        popup_menu.xml
        <?xml version="1.0" encoding="utf-8"?>
        <menu xmlns:android="http://schemas.android.com/apk/res/android">
            <item
                android:id="@+id/one"
                android:title="One"/>

            <item
                android:id="@+id/two"
                android:title="Two"/>

            <item
                android:id="@+id/three"
                android:title="Three"/>
        </menu>

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

           final FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
            fab.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View view) {
                // Click action
                System.out.println("Float Icon Clicked");
        //Creating the instance of PopupMenu
                PopupMenu popup = new PopupMenu(MainActivity.this, fab);
         //Inflating the Popup using xml file
            popup.getMenuInflater().inflate(R.menu.poupup_menu, popup.getMenu());

          //registering popup with OnMenuItemClickListener
          popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
          public boolean onMenuItemClick(MenuItem item) {
              Toast.makeText(MainActivity.this, "You Clicked : " + item.getTitle(), Toast.LENGTH_SHORT).show();
                                return true;
                            }
                        });

                        popup.show();//showing popup menu

                    }
                });
            }

在这行代码下

 PopupMenu popup = new PopupMenu(MainActivity.this, fab);
只需通过您的ArrayList将其添加到弹出菜单中,如下所示

for (String s : array) {
        popup.getMenu().add(s);
    }