我的自定义ListView
的{{1}}包含rowItem
和TextView
。可以从用户动态添加ImageView
。
那么如何才能将特定的rowItems
设置为特定的ImageView
。例如,文本“bird”获得名为TextView
的鸟类,依此类推。
我用ImageView
尝试了它,但它没有用。
我的ListView适配器:
SwitchCase
答案 0 :(得分:0)
当TextView填充单词" bird"您可以使用它以适当的图像填充ImageView。
txtView.setText(textVar);
if (txtView.getText().equals("bird")) {
imageView.setImageResource(R.drawable.bird_drawable);
}
答案 1 :(得分:0)
执行此操作的一种方法是,如果您可以控制命名可绘制名称,则可以将可绘制资源命名为与要匹配的文本/标题相同的可绘制资源。所以你会有像draws.png,animals.png等可绘制的名字。然后你可以使用this answer动态获取drawable并附加到图像视图。 所以你的代码看起来应该是这样的
int drawableResourceId = context.getResources().getIdentifier(getResources().getString(beepStringId), "drawable", context.getPackageName());
imageView.setImageResource(drawableResourceId);
这种方法的缺点是,如果标题中有空格或特殊字符,则必须单独处理。但它足以用于相当简单的标题集。
或者,您可以像使用starting from API 19一样使用开关案例。