android 里面我往ListView里面添加数据成功但是ListView里面显示不出来

2024-11-14 00:03:25
推荐回答(3个)
回答1:

你代码中的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> listString;
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=new 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);

}
}

回答2:

是执行顺序的问题。你把适配器和listview放到最下面就行了!

回答3:

看一下ListView中的Item项的背景颜色是不是和文字的字体颜色设置成一样的了。
如果是一样的那肯定是显示不出来了。

你先把文字颜色设置成为黑色试试。