我尝试将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
,应用程序崩溃了。
问题:为什么我可以在我的虚拟设备中看到图片而不是在我的真实设备上?
答案 0 :(得分:0)
感谢大家的提示。我现在可以解决这个问题了。
存在分配错误,只能在不同的API级别调试(22)。 17级没有出错。我现在缩小了图像。这也解释了为什么它适用于具有不同存储设置的虚拟设备。