ListView里如何显示一个ImageView
这几天学习android的ListView控件,想在ListView里布局显示一个ImageView和TextView,TextView里的内容能显示出来,可是ImageView不显示,google了很久也找不出原因 还请赐教!先谢啦这是我的java代码和xml文件
public class AndroidListViewTextActivity extends Activity
{
ListView m_ListView;
ImageView m_ImageView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
m_ListView=new ListView(this);
// setContentView(R.layout.main);
// m_ListView=(ListView)findViewById(R.id.widget43);
//m_ImageView.setImageDrawable(getResources().getDrawable(R.drawable.icon));
SimpleAdapter adapter0 = new SimpleAdapter
(this,getActRescoure("1","CCTV1","2","CCTV2","3","甘肃卫视"),
R.layout.main,
new String[]{"imge","act_id","act_name"},
new int[]{R.id.widget37,R.id.widget41,R.id.widget40});
m_ListView.setAdapter(adapter0);
setContentView(m_ListView);
}
private List<Map<String, Object>> getActRescoure
(String id1,String name1,String id2,String name2,String id3,String name3)
{
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map0=new HashMap<String, Object>();
map0.put("image", R.drawable.icon);
map0.put("act_id", id1);
map0.put("act_name", name1);
//map0.put("image", R.drawable.icon);
list.add(map0);
HashMap<String, Object> map1=new HashMap<String, Object>();
map1.put("image", R.drawable.icon);
map1.put("act_id", id2);
map1.put("act_name", name2);
// map1.put("image", getResources().getDrawable(R.drawable.icon));
list.add(map1);
HashMap<String, Object> map2=new HashMap<String, Object>();
map2.put("image", R.drawable.icon);
map2.put("act_id", id3);
map2.put("act_name", name3);
// map2.put("image", getResources().getDrawable(R.drawable.icon));
list.add(map2);
return list;
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/widget36"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<ImageView
android:id="@+id/widget37"
android:src="@drawable/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</ImageView>
<LinearLayout
android:id="@+id/widget38"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView
android:id="@+id/widget41"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
>
</TextView>
<TextView
android:id="@+id/widget40"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
>
</TextView>
</LinearLayout>
</LinearLayout>
--------------------编程问答-------------------- 自己再写个layout供ListView使用,
layout.main布局给AndroidListViewTextActivity使用,
不要混着~ --------------------编程问答-------------------- 额……没人回答啊 --------------------编程问答-------------------- 不要使用simpleadapter 用base的就可以了 --------------------编程问答-------------------- 要贴源码么! --------------------编程问答--------------------
new String[]{"imge","act_id","act_name"},错了改成image --------------------编程问答-------------------- LZ可以自己定义一个Adapter,继承自BaseAdapter的 --------------------编程问答-------------------- 第一步:ArrayList<HashMap<String, Object>> list
第二步:SimpleAdapter listItemAdapter
第三步:setAdapter(listItemAdapter); --------------------编程问答-------------------- SimpleAdapter adapter0 = new SimpleAdapter
(this,getActRescoure("1","CCTV1","2","CCTV2","3","甘肃卫视"),
R.layout.main,
new String[]{"imge","act_id","act_name"},
.....
Map<String, Object> map0=new HashMap<String, Object>();
map0.put("image", R.drawable.icon);//这里错了,这3个String要一一对应
map0.put("act_id", id1);
map0.put("act_name", name1);
--------------------编程问答-------------------- 昨天下班了,现在给你贴上代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
m_ListView = (ListView) findViewById(R.id.list01);
SimpleAdapter adapter0 = new SimpleAdapter(this, getActRescoure("1",
"CCTV1", "2", "CCTV2", "3", "甘肃卫视"), R.layout.list,
new String[] { "image", "act_id", "act_name" }, new int[] {
R.id.widget37, R.id.widget41, R.id.widget40 });
m_ListView.setAdapter(adapter0);
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget36"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<ListView
android:id="@+id/list01"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
list.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget36"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/widget37"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ImageView>
<TextView
android:id="@+id/widget41"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" >
</TextView>
<TextView
android:id="@+id/widget40"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" >
</TextView>
</LinearLayout>
getActRescoure方法可以用,自己优化。 --------------------编程问答-------------------- 不知道啊 楼主会了的话 记得分享下啊 --------------------编程问答-------------------- http://blog.csdn.net/aomandeshangxiao/article/details/6643831
补充:移动开发 , Android