0

当我单击从可绘制文件夹中获取的图像时,我试图重定向到特定的 URL。我采用了一个整数数组来存储所有图像。

 final int[] imageArray = { R.drawable.advert1, R.drawable.arrow_blue_r,R.drawable.background4 };

我已经使用以下示例在 ID 为 advt_image 的图像视图上更改了一段时间后的图像

final Handler handler = new Handler();
Runnable runnable = new Runnable() {
    int i = 0;

    public void run() {
        advtImage.setImageResource(imageArray[i]);
        Log.i("AdvtImage::::",""+advtImage);
        i++;
        if (i > imageArray.length - 1) {
            i = 0;
        }
        handler.postDelayed(this, 3000); // for interval...
    }
};
handler.postDelayed(runnable, 2000); // for initial delay..

每次图像发生变化并且用户单击特定图像时,我无法弄清楚如何使用以下意图。

Intent viewIntent = new Intent("android.intent.action.VIEW",
     Uri.parse("http://www.stackoverflow.com/"));

AnyHelp 对此表示高度赞赏。

4

1 回答 1

1

您可以保留要使用的 URI 数组,使用图像数组的索引来调用正确的 URI。

示例代码:

final int[] imageArray = { R.drawable.advert1, R.drawable.arrow_blue_r,R.drawable.background4 };
final String[] URLArray = {"http://www.stackoverflow.com","http://www.google.com","http://d.android.com"};

int position = 0;


final Handler handler = new Handler();
Runnable runnable = new Runnable() {

    public void run() {
        advtImage.setImageResource(imageArray[position]);
        Log.i("AdvtImage::::",""+advtImage);
        position++;
        if (position > imageArray.length - 1) {
            position = 0;
        }
        handler.postDelayed(this, 3000); // for interval...
    }
};
handler.postDelayed(runnable, 2000); // for initial delay..

然后在你的点击中,你可以做

Intent viewIntent = new Intent("android.intent.action.VIEW",
     Uri.parse(URLArray[position]);
于 2012-09-26T19:47:44.303 回答