[Android UI界面] ListView与arrays.xml结合使用的问题
2011-06-02 09:44
447 查看
摘自:http://www.eoeandroid.com/thread-64029-1-1.html
我要做个图标和文字结合的ListView,图标数据也写在了xml里(见下方的arrays.xml)。但是输出发现,这个
@drawable/latest不是id值,而是这个图片的路径值。我怎么存放呢?以前的写法是map.put("icon",
R.drawable.XXX); 就可以绑定图标了...
简短的代码如下:
String[] iconArr = getResources().getStringArray(R.array.feed_icons);
String[] titleArr = getResources().getStringArray(R.array.feed_names);
for(int i=0; i<iconArr.length; i++)
{
map = new HashMap<String, Object>();
ImageView v = new ImageView(getContext());
map.put("icon", iconArr); //这样写是错误的:( 应该怎样写呢
map.put("title", titleArr[i]);
list.add(map);
}
复制代码
[i][i][i][i]
arrays.xml如下:
[/i][/i][/i]
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="feed_names">
<item>新闻</item>
<item>视频</item>
<item>国际新闻</item>
<item>体育</item>
<item>艺术</item>
<item>餐饮</item>
</string-array>
<string-array name="feed_icons">
<item>@drawable/latest</item>
<item>@drawable/video</item>
<item>@drawable/world</item>
<item>@drawable/sports</item>
<item>@drawable/arts</item>
<item>@drawable/dining</item>
</string-array>
</resources>
复制代码
解决方案:
特别感谢LuoYer
Map<String, Object> map;
TypedArray ta = getResources().obtainTypedArray(R.array.feed_icons);
String[] titleArr = getResources().getStringArray(R.array.feed_names);
for(int i=0; i<titleArr.length; i++)
{
map = new HashMap<String, Object>();
map.put("icon", ta.getResourceId(i, 0));
map.put("title", titleArr[i]);
list.add(map);
}
复制代码
============================
private void initAdapters(Context context) {
TypedArray mainNavIcon = context.getResources().obtainTypedArray(R.array.mainNavIcon);
String[] mainNav = context.getResources().getStringArray(R.array.mainNav);
mHomeAdapter = new PopupIconTextAdapter(context);
for (int i = 0; i < mainNav.length; i++) {
mHomeAdapter.add(getIconTextListItem(context, mainNavIcon.getResourceId(i, 0), mainNav[i]));
}
}
private IconTextListItem getIconTextListItem(Context context, int mainNavIcon, String mainNavText) {
IconTextListItem iconText = new IconTextListItem(context.getResources().getDrawable(
mainNavIcon), mainNavText);
return iconText;
}
我要做个图标和文字结合的ListView,图标数据也写在了xml里(见下方的arrays.xml)。但是输出发现,这个
@drawable/latest不是id值,而是这个图片的路径值。我怎么存放呢?以前的写法是map.put("icon",
R.drawable.XXX); 就可以绑定图标了...
简短的代码如下:
String[] iconArr = getResources().getStringArray(R.array.feed_icons);
String[] titleArr = getResources().getStringArray(R.array.feed_names);
for(int i=0; i<iconArr.length; i++)
{
map = new HashMap<String, Object>();
ImageView v = new ImageView(getContext());
map.put("icon", iconArr); //这样写是错误的:( 应该怎样写呢
map.put("title", titleArr[i]);
list.add(map);
}
复制代码
[i][i][i][i]
arrays.xml如下:
[/i][/i][/i]
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="feed_names">
<item>新闻</item>
<item>视频</item>
<item>国际新闻</item>
<item>体育</item>
<item>艺术</item>
<item>餐饮</item>
</string-array>
<string-array name="feed_icons">
<item>@drawable/latest</item>
<item>@drawable/video</item>
<item>@drawable/world</item>
<item>@drawable/sports</item>
<item>@drawable/arts</item>
<item>@drawable/dining</item>
</string-array>
</resources>
复制代码
解决方案:
特别感谢LuoYer
Map<String, Object> map;
TypedArray ta = getResources().obtainTypedArray(R.array.feed_icons);
String[] titleArr = getResources().getStringArray(R.array.feed_names);
for(int i=0; i<titleArr.length; i++)
{
map = new HashMap<String, Object>();
map.put("icon", ta.getResourceId(i, 0));
map.put("title", titleArr[i]);
list.add(map);
}
复制代码
============================
private void initAdapters(Context context) {
TypedArray mainNavIcon = context.getResources().obtainTypedArray(R.array.mainNavIcon);
String[] mainNav = context.getResources().getStringArray(R.array.mainNav);
mHomeAdapter = new PopupIconTextAdapter(context);
for (int i = 0; i < mainNav.length; i++) {
mHomeAdapter.add(getIconTextListItem(context, mainNavIcon.getResourceId(i, 0), mainNav[i]));
}
}
private IconTextListItem getIconTextListItem(Context context, int mainNavIcon, String mainNavText) {
IconTextListItem iconText = new IconTextListItem(context.getResources().getDrawable(
mainNavIcon), mainNavText);
return iconText;
}
相关文章推荐
- 关于AndroidManifest.xml开发中使用系统权限报错的问题
- Android ListView 使用HashMap解决复用问题
- Android中xml布局文件中使用include引入布局进行复用(解决使用include布局重叠,颜色设置无效问题)
- 【android动态布局】之【ListView动态加载数据模板(使用xml布局)】
- Android 开发 Tip 2 -- 多主题下drawable.xml使用?attr的问题
- Android 之自定义CheckBox结合ListView使用
- Android手机UI设计---”知乎“界面外观模仿篇(六)---在Fragment里使用Gallery结合listview实现listview横滑
- android ListView在使用中碰得一些问题的解决办法
- Android 将Activity殴打jar包 对于由第三方使用 解决XML 图片 文本资源并不难过进入jar包装问题!
- android 红点BadgeView与RadioButton结合使用的问题
- Android 中 在listview 中使用checkbox 遇到的选择问题
- 使用Android Supportv4 SwipeRefreshLayout有关ListView滑动冲突问题
- 【疑难】Android 在 WindowManager 中使用 ListView 点击不响应问题记录
- android notification和peddingintent结合使用遇到的问题
- Android ExpandableListview+Listview嵌套使用出现的问题解决办法
- Android实例demo10之listview的使用(加载xml、textview、BaseAdapter的使用)
- Android 编程下 ListView 和 CheckBox 混合使用时的常见问题
- 关于Android中listView的复用及优化问题详解,应用开发者应多多使用,是app更顺畅,让用户更好体验!
- Android ScrollView 和ListView 一起使用的问题汇总
- 数据绑定控件和XmlDataSource控件结合使用,通过后台绑定Xml数据片段遇到的问题