在弹出菜单上创建随机选择

时间:2018-07-11 15:48:59

标签: java android popupmenu

因此,目前我有一个与“广告库”相关的活动,其中句子中有一个空格,用户点击它会打开一个弹出菜单,在该空格中添加一个单词。目前,我将其设置为只有3个单词可用,并且每次按下时它们都是3个单词,但是我想知道是否有可能从每个列表中随机选择这3个单词,或者数组列表。我将包含我在用户点击空白处时使用的代码以及弹出菜单的xml代码,但是请注意,它基本上只是一个简单的弹出菜单。

        beginningtext.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v){
            PopupMenu heroPop = new PopupMenu(AdventureActivity.this, beginningtext);
            heroPop.getMenuInflater().inflate(R.menu.heropop_menu, heroPop.getMenu());
            heroPop.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                public boolean onMenuItemClick(MenuItem item) {
                    Toast.makeText(AdventureActivity.this,"You Selected : " + item.getTitle(),Toast.LENGTH_SHORT).show();
                    beginningtext.setText(R.string.partyMembers);
                    beginningtext.append(item.getTitle());
                    return true;
                }
            });
            heroPop.show();//showing popup menu
        }
    });//closing the setOnClickListener method

对于xml弹出菜单

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
    android:id="@+id/one"
    android:title="@string/party1"/>

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

<item
    android:id="@+id/three"
    android:title="@string/party3"/>

<item
    android:id="@+id/four"
    android:title="@string/party4"/>

</menu>

非常感谢您提供任何帮助,非常感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用所需的内容构建一个数组,

String[] array = {"thing1","thing2"};

然后在数组长度范围内随机生成一个数字

0 - array.length - 1;

查看this question,了解如何生成随机数。

如果需要,可以在运行时用字符串资产填充一个数组列表,然后对该数组列表执行上述操作。