0

我在下面有一些简单的代码,它在大多数情况下都有效。它现在所做的是为我的数组中的前 5 个元素创建 5 个不同的菜单,然后其余元素显示在一些可滚动的菜单选择中。

我怎样才能使我的数组中的所有元素都出现在可滚动的菜单选择中?

谢谢!

public boolean onCreateOptionsMenu(Menu menu) {

 for(int i = 0; i<ARRAY.length; i++)
     {
         menu.add(ARRAY[i]);

     }
return true;
}
4

1 回答 1

0

您可以使用添加菜单menu.add(..),您可以为第二个参数设置id,menu.add(0, id ,...)您可以设置标签menu.add(...., ARRAY[i])

 public boolean onCreateOptionsMenu(Menu menu) {

        for(int i = 0; i<ARRAY.length; i++)
        {
             int id = i;
             menu.add(0,id,0,ARRAY[i]);
        }
        return true;
}

您可以访问此菜单并使用以下命令执行操作onOptionsItemSelected()

   @Override
   public boolean onOptionsItemSelected(MenuItem item) {

        switch(item.getItemId())
        {
           case 0:
                  //code goes here when you press the menu with id 0
                  break;
           case 1:
                  //code goes here when you press the menu with id 1
                  break;
        }
        return true;
    }
于 2012-11-24T23:43:34.130 回答