为什么ImageView的内容在我的真实手机上是空的?

时间:2016-11-26 14:39:20

标签: android android-layout android-imageview

我尝试将drawable设置为ImageView。来源取决于月份中的两位数日数(存储在today中)。我的API级别是17(Fairphone 1)。

在虚拟设备上,我可以看到图片。但是当我在我的真实手机上安装应用程序时,ImageBox就在那里但是空白(白色)。

这是我设置Image的代码:

ImageView image = (ImageView) findViewById(R.id.startImg);
String uri = "s_"+Integer.parseInt(today);
int imageResource = getBaseContext().getResources().getIdentifier(uri, "drawable", getPackageName());
image.setImageResource(imageResource);

这是我的布局文件:          

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        android:textColor="@color/colorAccent"
        android:textSize="20dp"
        android:paddingBottom="16dp"
        android:id="@+id/textView"
        android:textAlignment="center"
        android:textStyle="bold"
        android:typeface="serif" />
    <ImageView
        android:contentDescription="Bild"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:id="@+id/startImg" />
    <GridView
        android:id="@+id/DatesGrid"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:numColumns="3"
        >
    </GridView>
</LinearLayout>

LogCat什么也没说。

但是我在API级别22(Fairphone 2)的电话上检查了应用程序。现在,由于错误的imageResource,应用程序崩溃了。

问题:为什么我可以在我的虚拟设备中看到图片而不是在我的真实设备上?

1 个答案:

答案 0 :(得分:0)

感谢大家的提示。我现在可以解决这个问题了。

存在分配错误,只能在不同的API级别调试(22)。 17级没有出错。我现在缩小了图像。这也解释了为什么它适用于具有不同存储设置的虚拟设备。