安卓自定义布局用于列表视图

7

我正在使用以下方式作为列表视图

String[] Shows = new String[] { "Dexter", "Breaking Bad", "The Big Bang Theory", "Leverage"};
ListView tv_show_list = (ListView) view_tvshowAddNew.findViewById(R.id.lv_tv_show_list);

ArrayAdapter<String> showNameAdapter = new ArrayAdapter<String>(getActivity(), R.layout.tv_show_each_show_name, Shows);

tv_show_list.setAdapter(showNameAdapter);

现在我的tv_show_each_show_name XML如下:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="58dp" 
    android:background="@drawable/ic_launcher" 

    > 
</TextView>

现在我想做的是让每个演出名称与一张图片相关联,然后将其放入地图中,例如:

Map mMap = new HashMap();
mMap.put("Dexter", "imageDexter.png");
mMap.put("Breaking Bad", "imageDexter.png");

在加载列表视图时,我将从此地图中显示名称,并设置关联的图像背景,从此地图中获取图像名称并从drawable文件夹中加载它。

怎么做呢?

像下面这样布置布局

enter image description here


我认为这非常相关:https://dev59.com/GGsz5IYBdhLWcg3wADW6 - rynojvr
2个回答

1
看这个向文本视图添加2个按钮 你需要一个自定义适配器来处理列表,并需要重写它的getView方法,在其中可以指定项目的UI布局。
对于您发布的代码,不要使用ArrayAdapter的实例,而是创建一个派生自ArrayAdapter的自己的适配器。 YourData应该是一个包含项目文本和项目图像引用的类。
现在重写您的自定义适配器类中的getView方法。 该方法用于使用位置参数填充项目的UI。
View getView(int position, View convertView, ViewGroup parent)
您可以使用ArrayAdapter.getItem获取该项。
有关详细信息,请参阅上面的链接和http://developer.android.com/reference/android/widget/ArrayAdapter.html

我是Android开发的新手。我需要更多的细节。你能详细解释一下你的答案吗?谢谢。 - LynAs

0

看这个例子这里,它展示了如何在Android中加载ListView中的图片,你需要扩展BaseAdapter来创建自定义适配器


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接