你代码中的setContentView(R.layout.advert),
SimpleAdapter sa = new SimpleAdapter(this, map, R.layout.advert,
new String[] { "img", "text1", "text2" }, new int[] { R.id.ima,
R.id.tv1, R.id.tv2 })
错误应该在SimpleAdapter构造函数中的第3个参数。
public class MainActivity extends Activity {
List
SimpleAdapter simpleAdapter;
ListView listview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//R.layout.activity_main中含有ListView.
setContentView(R.layout.activity_main);
listString=new ArrayList
for(int i=1;i<=5;i++){
HashMap
map.put("img", R.drawable.png_01);
map.put("text1", "广告"+i);
map.put("text2", "广告"+i+"广告"+i);
listString.add(map);
}
listview=(ListView) findViewById(R.id.listView1);
//R.layout.listview_item.这个指的是ListView中每一项的map,即一行中你显示的imageView,textview1,textview2
//的layout.xml
simpleAdapter=new SimpleAdapter(this, listString, R.layout.listview_item, new String[]{"img","text1","text2"}, new int[]{R.id.imageView1,R.id.TextView1,R.id.TextView2});
listview.setAdapter(simpleAdapter);
}
}
是执行顺序的问题。你把适配器和listview放到最下面就行了!
看一下ListView中的Item项的背景颜色是不是和文字的字体颜色设置成一样的了。
如果是一样的那肯定是显示不出来了。
你先把文字颜色设置成为黑色试试。