回答編集履歴

1

コード修正

2023/01/06 08:55

投稿

jimbe
jimbe

スコア12659

test CHANGED
@@ -14,6 +14,7 @@
14
14
  public class MainActivity extends AppCompatActivity {
15
15
 
16
16
  private class MyMenuProvider implements MenuProvider {
17
+ private static final int SUBMENU_MAX = 10;
17
18
  private List<String> menuTextList = new ArrayList<>();
18
19
  void addMenu() {
19
20
  menuTextList.add("Menu "+(menuTextList.size()+1));
@@ -21,7 +22,12 @@
21
22
  }
22
23
  @Override
23
24
  public void onCreateMenu(@NonNull Menu menu, @NonNull MenuInflater menuInflater) {
25
+ int i = 0;
26
+ for(int j=0; j<menuTextList.size()/SUBMENU_MAX; j++) {
27
+ SubMenu subMenu = menu.addSubMenu("SubMenu "+(j+1));
28
+ for(int k=0; k<SUBMENU_MAX; k++) subMenu.add(menuTextList.get(i++));
29
+ }
24
- for(String text : menuTextList) menu.add(text);
30
+ while(i<menuTextList.size()) menu.add(menuTextList.get(i++));
25
31
  }
26
32
  @Override
27
33
  public boolean onMenuItemSelected(@NonNull MenuItem menuItem) {