我的问题是我想在屏幕上一次显示一张图像,每天我的图像都会改变。我正在使用imageView,但它显示了notification.xml的所有图像。我搜索了很多,我想我错过了一些简单的事情。 Plz帮助。
Notification.java是:
package com.example.customcalendarandroid;
import java.io.File;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.app.Activity;
import android.graphics.drawable.Drawable;
public class NotificationView extends Activity{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.notification);
//setContentView(R.layout.newxml);
int i=10;
if(i==10){
ImageView imgView = (ImageView) findViewById(R.id.ekadashi_name2);
imgView.setImageResource(R.drawable.prabhu2);
}else
{
ImageView imgView = (ImageView) findViewById(R.id.ekadashi_name3);
imgView.setImageResource(R.drawable.prabhu3);
}
}
and
notification.xml is
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/ekadashi_name"
android:layout_width="match_parent"
android:layout_height="20sp"
android:src="@drawable/krishna" />
<ImageView
android:id="@+id/ekadashi_name1"
android:layout_width="match_parent"
android:layout_height="20sp"
android:src="@drawable/prabhupada" />
<ImageView
android:id="@+id/ekadashi_name2"
android:layout_width="match_parent"
android:layout_height="20sp"
android:src="@drawable/prabhu2" />
<ImageView
android:id="@+id/ekadashi_name3"
android:layout_width="match_parent"
android:layout_height="20sp"
android:src="@drawable/prabhu3" />
<ImageView
android:id="@+id/ekadashi_name4"
android:layout_width="match_parent"
android:layout_height="20sp"
android:src="@drawable/prabhu4" />
<ImageView
android:id="@+id/ekadashi_name5"
android:layout_width="match_parent"
android:layout_height="20sp"
android:src="@drawable/prabhu5" />
<ImageView
android:id="@+id/ekadashi_name6"
android:layout_width="match_parent"
android:layout_height="20sp"
android:src="@drawable/prabhu6" />
<ImageView
android:id="@+id/ekadashi_name"
android:layout_width="match_parent"
android:layout_height="20sp"
android:src="@drawable/prabhupada1" />
</LinearLayout>
答案 0 :(得分:1)
您可以使用图像阵列 像
private int[] imagesArray = {
R.drawable.img_00,
R.drawable.img_01,
R.drawable.img_02,
};
然后你可以做到
Drawable d = getResources().getDrawable(imagesArray[i]);
yourImageView.setImageDrawable(d);
每当你想加载图片时,只需更改int i值
在xml中只保留一个可以工作的图像视图.u保持不同的图像视图以实现差异
希望对你有所帮助
答案 1 :(得分:0)
这始终是真的:
int i=10;
if(i==10){
}
此程序将始终显示ekadashi_name2。您必须将i更改为随机数。
Random rn = new Random();
i = 1 + Random.nextInt(9);
这样,每次打开应用程序时,都会显示一个新图像。
答案 2 :(得分:0)
从xml中的所有ImageView中取出android:src="@drawable/prabhupada"
参数..然后不会设置其他图像。默认情况下,您为它们提供图像源。
或者您可以将所有其他imageView指定为null
imageView.setImageResource(android.R.color.transparent); // to set the image background null
答案 3 :(得分:0)
,通过findViewByID获取任意随机图像,并将其可见性设置为可见并使用findViewById显示并访问所有其他图像,并根据您的要求将其可见性设置为不可见或不可见! 此外,不是在xml中添加所有图像,而是在xml中只添加一个图像,并为其设置任何源。从java代码设置源代码,而不是从xml。