带有ListAdapter的android ImageView setContentDescription

时间:2015-02-23 19:42:49

标签: java android listview

我有一个新闻列表。我用这个;

ListAdapter adapter = new SimpleAdapter(this, getXmlData(URL,KEY_ITEM,KEY_COLUMN),
            R.layout.news_list,
            new String[] { KEY_COLUMN[1],KEY_COLUMN[0] }, new int[] {
        R.id.name,R.id.list_image});

KEY_COLUMN [1]是标题。 KEY_COLUMN [0]是id值。必须隐藏它。

我的问题是R.id.list_image。 我可以将KEY_COLUMN [0]设置为R.id.list_image的src。但我想将KEY_COLUMN [0]设置为R.id.list_image的contentDescription。 你能帮我吗?我不使用lazyadaptor等。

编辑: 我有新问题。如果我需要2个数据用于imageview,我该如何使用?

ListAdapter adapter = new SimpleAdapter(this, getXmlData(URL,KEY_ITEM,KEY_COLUMN),
            R.layout.news_list,
            new String[] { KEY_COLUMN[1],KEY_COLUMN[0],KEY_COLUMN[2] }, new int[] {
        R.id.name,R.id.list_image,R.id.list_image});

KEY_COLUMN [0]设置为R.id.list_image的setContentDescription KEY_COLUMN [2]设置为R.id.list_image的

1 个答案:

答案 0 :(得分:0)

您需要使用自定义绑定器才能执行此操作。可以通过在下一行添加这样的内容来完成:

adapter.setViewBinder(new SimpleAdapter.ViewBinder() {

        @Override
        public boolean setViewValue(View view, Object data,
                String textRepresentation) {
            // Log.v(TAG, "Binding view: " + view);

            if (view.getId() == R.id.list_image) {
                ((ImageView) view).setContentDescription((CharSequence)) data);
                return true;
            }

            return false;
        }
    });