这几天学习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>
这是我的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_gravity="right",按钮不会到右边?
- 一个关于graphics的问题,求android jni高手指导
- 加载main Activity之前,添加载入页面
- 新手问题,新建模拟器安装apk提示内存不足,在线等。。。
- android相对布局
- 测量view的高度、
- mpchart中所有月份的柱状图显示不全
- 如何用Rxjava或者HttpURLConnection以POST方式访问拼接的地址
- mosquitto安装后自启动,无法kill掉mosquitto进程
- androidstudio3.5导入support V7一直报错
- Android中的View类里面数据无法访问
- android中如何分析URL
layout.main布局给AndroidListViewTextActivity使用,
不要混着~
第二步:SimpleAdapter listItemAdapter
第三步:setAdapter(listItemAdapter);
(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方法可以用,自己优化。