Android动态图像
我有10个图像视图:Android动态图像,android,imageview,dynamic-data,Android,Imageview,Dynamic Data,我有10个图像视图: ImageView Card0=(ImageView)findViewById(R.id.Card0); ..... ImageView Card9=(ImageView)findViewById(R.id.Card9); 所有图像都在我的drawable文件夹中,但我正在从远程数据库中选择卡片。 一个php脚本生成10张随机卡片 我拥有包含文件名的数组: Cards = deal.split(":"); 现在我要设置图像: Card0.setImageResource
ImageView Card0=(ImageView)findViewById(R.id.Card0);
.....
ImageView Card9=(ImageView)findViewById(R.id.Card9);
所有图像都在我的drawable文件夹中,但我正在从远程数据库中选择卡片。
一个php脚本生成10张随机卡片
我拥有包含文件名的数组:
Cards = deal.split(":");
现在我要设置图像:
Card0.setImageResource(R.drawable.Cards[0]);
我已经尝试并搜索了很多次,但无法设置任何变量setImageResource(R.drawable.*variable*)代码>
有人提供帮助。无法使用R.id.drawable.*动态加载
解决方案1:
我假设你的卡片图片的名称是:card0.png,card1.png。。。card9.png
我建议您创建一个assets
目录(在res
目录中)。将卡图像复制到资产
目录
import android.app.Activity;
import android.content.res.AssetManager;
import android.graphics.drawable.Drawable;
import java.io.InputStream;
import java.io.IOException;
public class YourActivity extends Activity {
//...
public Drawable loadAssetImage(String fileName) {
AssetManager assetMgr = this.getAssets();
try {
InputStream is = assetMgr.open(fileName);
Drawable d = Drawable.createFromStream(is, null);
return d;
}catch( IOException e ) {
// error...
return null;
}
}
}
loadAssetImage()
方法从assets
目录加载图像。因此,现在您可以动态加载图像,因为它接受字符串参数
请注意,目录名必须是assets
。Android允许直接(原始)访问资产
目录中的内部资源
import android.app.Activity;
import android.content.res.AssetManager;
import android.graphics.drawable.Drawable;
import java.io.InputStream;
import java.io.IOException;
public class YourActivity extends Activity {
//...
public Drawable loadAssetImage(String fileName) {
AssetManager assetMgr = this.getAssets();
try {
InputStream is = assetMgr.open(fileName);
Drawable d = Drawable.createFromStream(is, null);
return d;
}catch( IOException e ) {
// error...
return null;
}
}
}
解决方案2
public Drawable loadCardImage(int index) {
switch( index ) {
case 0:
return android.R.Card0;
case 1:
return android.R.Card1;
..
case 9:
return android.R.Card9;
}
return null;
}
您将从服务器接收卡的索引。此函数将返回相应的资源。文件名是什么样的?card0.png,card1.png。。。?交易的内容是什么?