Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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 如何使我的按钮单击显示与我的随机文本视图相对应的图像视图?_Java_Android_Arrays - Fatal编程技术网

Java 如何使我的按钮单击显示与我的随机文本视图相对应的图像视图?

Java 如何使我的按钮单击显示与我的随机文本视图相对应的图像视图?,java,android,arrays,Java,Android,Arrays,现在我有一个代码,如果用户单击按钮,它将显示我数组中的随机字符串。 我试图使它成为当用户单击按钮时,它还会显示一个与字符串对应的ImageView 例如,如果提取的字符串是“movies”,它将在ImageView中显示电影剪辑。我的drawables中有clipart JPG,这是我的XML文件,我在其中添加了字符串数组,我不确定这样做是否正确 <?xml version="1.0" encoding="utf-8"?> <resources> <stri

现在我有一个代码,如果用户单击按钮,它将显示我数组中的随机字符串。
我试图使它成为当用户单击按钮时,它还会显示一个与字符串对应的
ImageView

例如,如果提取的字符串是“movies”,它将在
ImageView
中显示电影剪辑。我的drawables中有clipart JPG,这是我的XML文件,我在其中添加了字符串数组,我不确定这样做是否正确

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name ="activityArray">
        <item>Music</item>
        <item>Movie</item>
        <item>Board Games</item>
        <item>Video Games</item>
        <item>Guitar</item>
    </string-array>

    <array name="activityImg">
        <item>@drawable/music</item>
        <item>@drawable/movie</item>
        <item>@drawable/boardgames</item>
        <item>@drawable/videogames</item>
        <item>@drawable/guitar</item>



</array>
</resources>

您的代码中没有使用imageView,如果我们在“活动”中使用创建图像资源数组,然后检索随机索引,则会更容易:

int[] images = {R.drawable.music, R.drawable.movie, R.drawable.boardgames, R.drawable.viewgames, R.drawable.guitar};
在onClick中:

String[] activities = getResources().getStringArray(R.array.activityArray);

Random random = new Random();
int rand = random.nextInt(activities.length -1);

Button button = (Button) findViewById(R.id.button);

TextView buttonResult = (TextView)findViewById(R.id.buttonResult);

buttonResult.setText(activities[rand]);
imageView.setImageResource(images[rand]);

好的,通过你的代码,我可以随机获得imageview和文本,有没有办法让它们匹配?现在两者都是随机的,但它们不匹配,即当文本“movie”显示时,它们应该是相同的,因为我使用变量rand来匹配随机图像和文本。你能分享你的全部代码吗?
String[] activities = getResources().getStringArray(R.array.activityArray);

Random random = new Random();
int rand = random.nextInt(activities.length -1);

Button button = (Button) findViewById(R.id.button);

TextView buttonResult = (TextView)findViewById(R.id.buttonResult);

buttonResult.setText(activities[rand]);
imageView.setImageResource(images[rand]);