如何在自定义ListView中设置ImageView,该ViewView取决于TextView的文本?

时间:2015-01-26 11:40:45

标签: android listview textview imageview

我的自定义ListView的{​​{1}}包含rowItemTextView。可以从用户动态添加ImageView

那么如何才能将特定的rowItems设置为特定的ImageView。例如,文本“bird”获得名为TextView的鸟类,依此类推。

我用ImageView尝试了它,但它没有用。

我的ListView适配器:

SwitchCase

2 个答案:

答案 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一样使用开关案例。