我试图编写这样的代码:我有一个字符串,如果字符串是" stack",我想打印s.gif,t.gif,a.gif,c .gif和k.gif。 这是我写的代码:
String myString = "stack";
for(int i = 0; i < myString.length(); i++)
{
String source= null;
if(myString .charAt(i) == 'a')
{
source = "R.drawable.folder.a.gif";
}
else if (myString .charAt(i) == 'b')
{
source = "R.drawable.folder.b.gif";
}
...//it goes until z
LinearLayout linearLayout= new LinearLayout(this);
linearLayout.setOrientation(LinearLayout.VERTICAL);
linearLayout.setLayoutParams(new AbsListView.LayoutParams(
AbsListView.LayoutParams.MATCH_PARENT,
AbsListView.LayoutParams.MATCH_PARENT));
ImageView imageView = new ImageView(this);
imageView.setImageResource();// I don't know what to write here
imageView.setLayoutParams(new AbsListView.LayoutParams(
AbsListView.LayoutParams.MATCH_PARENT,
AbsListView.LayoutParams.WRAP_CONTENT));
linearLayout.addView(imageView);
setContentView(linearLayout);
}
我尝试做的是设置源字符串并将其提供给setImageResource(),但是我失败了。你能告诉我如何修复这段代码吗?感谢。
答案 0 :(得分:2)
首先,Android具有基于int的资源指针,因此您的source
变量必须是int
。
然后,只需像这样分配:
source = R.drawable.a
将所有图片放入 res / drawable 目录。
但是,我不确定你是否可以在没有库的情况下使用这样的gif。尝试一下,如果不起作用,请使用.pngs。
答案 1 :(得分:1)
将source
更改为 int 而不是字符串
int source;
然后使用此
imageView.setImageDrawable(getResources().getDrawable(source))