【问题标题】:Trouble loading random image on button press按下按钮时无法加载随机图像
【发布时间】:2011-03-18 04:11:08
【问题描述】:

我想要做的只是让按钮随机加载图像。但是,该按钮似乎不起作用。当我第一次在那里加载活动时,它工作正常并且有一个随机图像....但是当我按下按钮时,它并没有像我需要的那样加载另一个。知道我在这里有什么问题吗?对我来说看起来不错:/

package com.my.package;


import java.util.Random;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View.OnClickListener;

public class Randomimage extends Activity implements OnClickListener{


    private Integer [] mImageIds = { 
            R.drawable.one, 
            R.drawable.two, 
            R.drawable.three, 
            };
    private static final Random rgenerator = new Random();

    private ImageView iv;



@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);


    Integer q = mImageIds[rgenerator.nextInt(mImageIds.length)];

    iv = (ImageView) findViewById(R.id.imageviewyeah);
    iv.setImageResource(q);


    View nextButton = findViewById(R.id.next_image_button);
    nextButton.setOnClickListener(this);

}


    @Override
    public void onClick(View v) {
    switch (v.getId()) {
    case R.id.next_image_button:
        iv.setImageResource(rgenerator.nextInt(mImageIds.length));
        break;
    }

}
    @Override
    public boolean onCreateOptionsMenu (Menu menu) {
        super.onCreateOptionsMenu(menu);
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu3, menu);
        return true;
    }

@Override
public boolean onOptionsItemSelected (MenuItem item) {
        switch (item.getItemId()) {
        case R.id.menu:
            startActivity(new Intent(this, Main.class));
            return true;
        case R.id.startnhie:
            startActivity(new Intent(this, startnhie.class));
            return true;

}
return false;
    }



}

【问题讨论】:

    标签: java android image random


    【解决方案1】:

    在您的按钮按下处理代码中,更改

    iv.setImageResource(rgenerator.nextInt(mImageIds.length));
    

    到

    iv.setImageResource(mImageIds[rgenerator.nextInt(mImageIds.length)]);
    

    【讨论】:

    • 就是这样!你的眼睛很棒!
    猜你喜欢
    • 1970-01-01
    • 2021-12-25
    • 2012-12-17
    • 2011-03-17
    • 2020-08-16
    • 2023-01-18
    • 1970-01-01
    • 1970-01-01
    • 2013-02-17
    相关资源
    最近更新 更多