怎么样实现在listview中前面是图片,后面是文字的效果

刘敏smile 发布于 2013/04/15 10:00
阅读 3K+
收藏 0

我想实现类似于QQ列表那样的样式,前面是图片,后面是文字。下面是我的代码,

wifi.xml代码如下:

<LinearLayout xmlns:android=" http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    >
   
    <include layout="@layout/title_view" />
  <ListView
      android:id="@+id/listview_wifi"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:orientation="horizontal">  
    <ImageView
        android:id="@+id/image_wifi"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5px"
        /> 
     <TextView
         android:id="@+id/text_wifi"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:textColor="#FFFFFFFF"
         android:textSize="22px"/> 
   </ListView>
</LinearLayout>

Activity的代码如下:

public class Wifi_Activity extends Activity{ 
 
 private TextView mTitleView;
 private ListView listView;
 private DataSource_wifi dataSource;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  prepareView();
  mTitleView.setText(R.string.wifi);
  listView = new ListView(this);
  listView.setAdapter(new ArrayAdapter<Map<String, Object>>(this, android.R.layout.simple_expandable_list_item_1, dataSource.getData()));
  setContentView(R.layout.wifi);
  
   
  
 }
 
 private void prepareView() {
  mTitleView = (TextView) findViewById(R.id.title_text);
  
 }

}

我的DataSource_wifi代码如下:

public class DataSource_wifi {
 
 public DataSource_wifi(){
  
 }
 public List<Map<String, Object>> getData(){
  
  List<Map<String, Object>>list = new ArrayList<Map<String,Object>>();
  
  Map<String, Object> map = new HashMap<String, Object>();
  map.put("text_wifi", "neusoft");
  map.put("image_wifi", R.drawable.ic_launcher);
  list.add(map);
  
  map = new HashMap<String, Object>();
  map.put("text_wifi", "TP_LINK_MINI");
  map.put("image_wifi", R.drawable.ic_launcher);
  list.add(map);
  
  map = new HashMap<String, Object>();
  map.put("text_wifi", "cisco-2");
  map.put("image_wifi", R.drawable.ic_launcher);
  list.add(map);
  
  map = new HashMap<String, Object>();
  map.put("text_wifi", "TP-WiFi");
  map.put("image_wifi", R.drawable.ic_launcher);
  list.add(map);
  
  return list;
 }
 

}

现在我的Activity我不知道应该怎么写,上面的写法不对,有会的请指点下

 

加载中
0
白天杰
白天杰

为什么要把ImageView 和TextView 放在ListView中呢,  拿出来   用BaseAdapter  不更好么。

刘敏smile
刘敏smile
是的,昨天已经实现了,不过很谢谢你
0
叶大侠
叶大侠
参考一下开源中国客户端: http://www.oschina.net/app或者参考一下 http://helloandroid.iteye.com/blog/1133545
刘敏smile
刘敏smile
好的,我看看。谢谢你
0
Samon
Samon

自定义ListView

返回顶部
顶部