先是显示主体布局的页面<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<ListView android:id="@+id/mainListView"
    android:layout_width="fill_parent" 
    android:layout_height="match_parent" 
    
       
    />
</RelativeLayout>

解决方案 »

  1.   

    然后是Activity的代码package com.app;import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;import android.app.ListActivity;
    import android.content.Context;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.view.Window;
    import android.widget.BaseAdapter;
    import android.widget.ImageView;
    import android.widget.ListView;
    import android.widget.TextView;public class MainInActivity extends ListActivity {
    private List<HashMap<String, Object>> mData;
    private ListView listView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); //声明使用自定义标题
         setContentView(R.layout.main);   
         getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title1);//自定义布局赋值 
         TextView textView=(TextView) findViewById(R.id.titleTextView1);
         textView.setText("昵称");
         listView=(ListView) findViewById(R.id.mainListView);
         listView.setAdapter(new MyAdapter(this));
        
    }
    //初始化list
    private  List<HashMap<String, Object>> getData(){
    ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
    HashMap<String, Object> map1=new HashMap<String, Object>();
    HashMap<String, Object> map2=new HashMap<String, Object>();
    HashMap<String, Object> map3=new HashMap<String, Object>();
    HashMap<String, Object> map4=new HashMap<String, Object>();
    map1.put("title", "温州晚报");
    map1.put("content", "上海动车追尾");
    map1.put("img", R.drawable.face56);

    map2.put("title", "创意铺子");
    map2.put("content", "ip5发售");
    map2.put("img", R.drawable.face57);

    map3.put("title", "21世纪经济报");
    map3.put("content", "美国经济再次动荡");
    map3.put("img", R.drawable.face58);

    map4.put("title", "小S");
    map4.put("content", "貌似又要生孩子了");
    map4.put("img", R.drawable.face89);
    return list;

    /** 数据项视图类(只需定义视图上有多少个控件)*/
    public final class ViewHolder {
    public ImageView img;
    public TextView title;
    public TextView content;
    }
    /**
     * 自定义适配器
     */
    public class MyAdapter extends BaseAdapter{
    private LayoutInflater layoutInflater;
    //构造方法
    public MyAdapter(Context context){
    this.layoutInflater = LayoutInflater.from(context);
    } @Override
    public int getCount() {
    // TODO Auto-generated method stub
    return 0;
    } @Override
    public Object getItem(int position) {
    // TODO Auto-generated method stub
    return null;
    } @Override
    public long getItemId(int position) {
    // TODO Auto-generated method stub
    return 0;
    }
    /**
     * getView返回每个数据项的视图
     * 使用ViewHolder模式效率提高 优化用
     */
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

    ViewHolder holder = null;

    if(convertView==null){
    convertView = layoutInflater.inflate(R.layout.mainlist, null);//根据布局文件实例化view
    holder.title=(TextView) findViewById(R.id.mainListTextView1);
    holder.content=(TextView) findViewById(R.id.mainListTextView2);
    holder.img=(ImageView) findViewById(R.id.mainListImageView1);
    convertView.setTag(holder);
    }
    else {  
                holder = (ViewHolder) convertView.getTag();  
            } 
    holder.img.setBackgroundResource((Integer) mData.get(position).get("img"));
    holder.title.setText((Integer) mData.get(position).get("title"));
    holder.content.setText((Integer) mData.get(position).get("content"));
    return convertView;
    }


    }
    }
      

  2.   

    对了 还有 listview里自定义的样式的 XML布局<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="match_parent">
    <ImageView android:src="@drawable/icon"
    android:layout_height="wrap_content" android:id="@+id/mainListImageView1"
    android:layout_width="wrap_content" android:layout_alignParentLeft="true"/>
    <TextView android:text="TextView" android:id="@+id/mainListTextView1"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:layout_toRightOf="@id/mainListImageView1"/>
    <TextView android:text="TextView" android:id="@+id/mainListTextView2"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:layout_toRightOf="@id/mainListImageView1" android:layout_below="@id/mainListTextView1"
    />

      
    </RelativeLayout>
      

  3.   

    在getview中使用了自定义的layout 则应该用convertView.findViewById(R.id.mainListTextView1);以下的控件依次类推
      

  4.   

    ViewHolder holder = null; 
    if(convertView==null){
                    convertView = layoutInflater.inflate(R.layout.mainlist, null);//根据布局文件实例化view
                    holder.title=(TextView) findViewById(R.id.mainListTextView1);
                    holder.content=(TextView) findViewById(R.id.mainListTextView2);
                    holder.img=(ImageView) findViewById(R.id.mainListImageView1);
                    convertView.setTag(holder);
                }
    你这里holder还是个null没有new个对象出来
      

  5.   

    getCount() 方法不能return 0 的 那样是0项 自然没数据显示 你先改成4 试试 
    其它的大概看了下 还有一些地方要改你的geData方法 不需要那么多的map吧 一个就够了自己百度个自定义listView吧 网上很多 从简单的例子入手
      

  6.   

    楼上眼力不错,
     public int getCount() {
                // TODO Auto-generated method stub
                return 0;
            }应该是return 4
      

  7.   

    mData.size() 我后来用了这个代替了 还是有点问题 
    我还是新手 可能接触有点问题 不知道是不是布局出了点错还是什么的
      

  8.   

    我那个自定义的标题应该没影响吧 大部分android 标题是用隐藏掉 然后自己上布局还是 像我那样自定义布局的啊
      

  9.   

    直接用个simpleadapter就可以实现啊,干嘛要自定义?
      

  10.   

    恩我试过simpleadapter 少的不是一点点代码 而且还成功的 哎 自定义搞不起来啊
      

  11.   

    http://blog.csdn.net/aomandeshangxiao/article/details/6643831 看看对楼主有帮助吗