2016-05-05 102 views
0
public void showPopupMenu(View v) { 

     ArrayList<String> menuItem = new ArrayList<String>() ; 
     PopupMenu popupMenu = new PopupMenu(this,v); 
     MenuInflater inflater = popupMenu.getMenuInflater(); 
     inflater.inflate(R.menu.menu_size, popupMenu.getMenu()); 

     for(int i = 0; i < 30; i = i+2){ 
      // menuItem = 
      popupMenu.getMenu().add(menuItem.get(i)); 
     } 
     popupMenu.show(); 
    } 

给出了错误: java.lang.IndexOutOfBoundsException:无效指数0,大小为0菜单不显示

+0

ArrayList menuItem没有任何项目。这就是为什么。 –

回答

1

由于菜单项没有任何项目,因为你是不是在添加任何内容它,它给java.lang.IndexOutOfBoundsException:索引0无效,大小为0

请先尝试添加一些项目。

0

According to ur code

public void showPopupMenu(View v) { 

    ArrayList<String> menuItem = new ArrayList<String>() ; 
    PopupMenu popupMenu = new PopupMenu(this,v); 
    MenuInflater inflater = popupMenu.getMenuInflater(); 
    inflater.inflate(R.menu.menu_size, popupMenu.getMenu()); 

    for(int i = 0; i < 30; i = i+2){ 
     // menuItem = 
     popupMenu.getMenu().add(menuItem.get(i)); 
    } 
    popupMenu.show(); 
} 

菜单项有垃圾值再次检查,这就是为什么它不工作的一些数据添加到您的列表,然后它会告诉你。