Android 从webservice填充列表视图

Android 从webservice填充列表视图,android,web-services,android-listview,listview-adapter,Android,Web Services,Android Listview,Listview Adapter,当我试图显示使用json与wcf Web服务通信时从服务器收到的数据列表时,代码中出现了一个错误 我收到来自webservice的响应,数据也被添加到列表中,但我不知道为什么会出现此错误。请指导我解决此错误 以下是logcat输出: 11-08 13:57:29.668: ERROR/AndroidRuntime(1386): Uncaught handler: thread main exiting due to uncaught exception 11-08 13:57:29.678:

当我试图显示使用json与wcf Web服务通信时从服务器收到的数据列表时,代码中出现了一个错误

我收到来自webservice的响应,数据也被添加到列表中,但我不知道为什么会出现此错误。请指导我解决此错误

以下是logcat输出:

11-08 13:57:29.668: ERROR/AndroidRuntime(1386): Uncaught handler: thread main exiting due to uncaught exception

11-08 13:57:29.678: ERROR/AndroidRuntime(1386): java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.AdapterView.addView(AdapterView.java:461)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.LayoutInflater.inflate(LayoutInflater.java:415)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.LayoutInflater.inflate(LayoutInflater.java:320)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.LayoutInflater.inflate(LayoutInflater.java:276)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at com.ecommerce.balajeebazaar.CategoryListAdapter.getView(CategoryListAdapter.java:64)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.AbsListView.obtainView(AbsListView.java:1273)
11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     
                             at android.widget.ListView.measureHeightOfChildren(ListView.java:1147)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.ListView.onMeasure(ListView.java:1060)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.View.measure(View.java:7703)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:2989)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:888)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:350)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:278)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.View.measure(View.java:7703)
11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     
                             at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:2989)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.View.measure(View.java:7703)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:464)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:278)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.View.measure(View.java:7703)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:2989)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.View.measure(View.java:7703)
11-08 13:57:29.678: ERROR/AndroidRuntime(1386):    
                             at android.view.ViewRoot.performTraversals(ViewRoot.java:747)
11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     
                             at android.view.ViewRoot.handleMessage(ViewRoot.java:1613)
11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     
                                                                                 at android.os.Handler.dispatchMessage(Handler.java:99)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386): at android.os.Looper.loop(Looper.java:123)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386): at android.app.ActivityThread.main(ActivityThread.java:4203)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):  at java.lang.reflect.Method.invokeNative(Native Method)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):  at java.lang.reflect.Method.invoke(Method.java:521)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at dalvik.system.NativeStart.main(Native Method)
CategoryArray = CW.CategoryWebservice("http://www.balajeebazaar.com/RestServiceImpl.svc/categorydetails");

for(int i = 0;i<=CategoryArray.length()-1;i++){
            try {
                Log.v("Categories :- ", CategoryArray.getString(i)+"");
                String[] val = new String[3];
                val = CategoryArray.getString(i).split(",");
                Log.v("val[0] :  ", val[0]);
                Log.v("val[1]  :", val[1]);
                CategoryList.add(i, val[0]+" "+val[1]);
                val = null;
                Log.v("CATEGORY LIST", CategoryList.get(i).toString());
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        //CategoryList.size();
        adapter = new CategoryListAdapter(CategoryActivity.this, CategoryList);
public class CategoryListAdapter extends BaseAdapter {
    private Activity activity;
    // private String[] data;
    private ArrayList<String> CategoryList = new ArrayList<String>();
    private static LayoutInflater inflater = null;

    // public ImageLoader imageLoader;

    public CategoryListAdapter(Activity a, ArrayList<String> categorylist) {
        activity = a;
        // data = d;
        inflater = (LayoutInflater) activity
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        CategoryList = categorylist;
        // imageLoader=new ImageLoader(activity.getApplicationContext());
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return CategoryList.size();
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    public static class ViewHolder {
        public TextView text;
        public ImageView image;
    }
   public class CategoryListAdapter extends BaseAdapter {
    private Activity activity;
    // private String[] data;
    private ArrayList<String> CategoryList = new ArrayList<String>();

    public CategoryListAdapter(Activity a, ArrayList<String> categorylist) {
        activity = a;
        CategoryList = categorylist;

    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return CategoryList.size();
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    public static class ViewHolder {
        public TextView text;
        public ImageView image;
    }

     @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        View vi;
        ViewHolder holder;
        if (convertView == null) {
            LayoutInflater inflater =getLayoutInflater();
            vi = inflater.inflate(R.layout.item, parent);
            holder = new ViewHolder();
            holder.text = (TextView) vi.findViewById(R.id.text);
            holder.image = (ImageView) vi.findViewById(R.id.image);
            vi.setTag(holder);
        } else{
                  vi = convertView;
                   holder = (ViewHolder) vi.getTag();
                  }
        String texttoappend = CategoryList.get(position);
        Log.v("texttoappend", texttoappend);
        holder.text.setText(CategoryList.get(position).toString());
        holder.image.setTag(R.drawable.go_arrow);
        // imageLoader.DisplayImage(data[position], activity, holder.image);
        return vi;
    }
}
我的java文件的代码是:

11-08 13:57:29.668: ERROR/AndroidRuntime(1386): Uncaught handler: thread main exiting due to uncaught exception

11-08 13:57:29.678: ERROR/AndroidRuntime(1386): java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.AdapterView.addView(AdapterView.java:461)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.LayoutInflater.inflate(LayoutInflater.java:415)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.LayoutInflater.inflate(LayoutInflater.java:320)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.LayoutInflater.inflate(LayoutInflater.java:276)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at com.ecommerce.balajeebazaar.CategoryListAdapter.getView(CategoryListAdapter.java:64)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.AbsListView.obtainView(AbsListView.java:1273)
11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     
                             at android.widget.ListView.measureHeightOfChildren(ListView.java:1147)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.ListView.onMeasure(ListView.java:1060)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.View.measure(View.java:7703)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:2989)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:888)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:350)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:278)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.View.measure(View.java:7703)
11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     
                             at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:2989)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.View.measure(View.java:7703)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:464)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:278)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.View.measure(View.java:7703)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:2989)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.View.measure(View.java:7703)
11-08 13:57:29.678: ERROR/AndroidRuntime(1386):    
                             at android.view.ViewRoot.performTraversals(ViewRoot.java:747)
11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     
                             at android.view.ViewRoot.handleMessage(ViewRoot.java:1613)
11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     
                                                                                 at android.os.Handler.dispatchMessage(Handler.java:99)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386): at android.os.Looper.loop(Looper.java:123)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386): at android.app.ActivityThread.main(ActivityThread.java:4203)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):  at java.lang.reflect.Method.invokeNative(Native Method)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):  at java.lang.reflect.Method.invoke(Method.java:521)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at dalvik.system.NativeStart.main(Native Method)
CategoryArray = CW.CategoryWebservice("http://www.balajeebazaar.com/RestServiceImpl.svc/categorydetails");

for(int i = 0;i<=CategoryArray.length()-1;i++){
            try {
                Log.v("Categories :- ", CategoryArray.getString(i)+"");
                String[] val = new String[3];
                val = CategoryArray.getString(i).split(",");
                Log.v("val[0] :  ", val[0]);
                Log.v("val[1]  :", val[1]);
                CategoryList.add(i, val[0]+" "+val[1]);
                val = null;
                Log.v("CATEGORY LIST", CategoryList.get(i).toString());
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        //CategoryList.size();
        adapter = new CategoryListAdapter(CategoryActivity.this, CategoryList);
public class CategoryListAdapter extends BaseAdapter {
    private Activity activity;
    // private String[] data;
    private ArrayList<String> CategoryList = new ArrayList<String>();
    private static LayoutInflater inflater = null;

    // public ImageLoader imageLoader;

    public CategoryListAdapter(Activity a, ArrayList<String> categorylist) {
        activity = a;
        // data = d;
        inflater = (LayoutInflater) activity
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        CategoryList = categorylist;
        // imageLoader=new ImageLoader(activity.getApplicationContext());
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return CategoryList.size();
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    public static class ViewHolder {
        public TextView text;
        public ImageView image;
    }
   public class CategoryListAdapter extends BaseAdapter {
    private Activity activity;
    // private String[] data;
    private ArrayList<String> CategoryList = new ArrayList<String>();

    public CategoryListAdapter(Activity a, ArrayList<String> categorylist) {
        activity = a;
        CategoryList = categorylist;

    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return CategoryList.size();
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    public static class ViewHolder {
        public TextView text;
        public ImageView image;
    }

     @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        View vi;
        ViewHolder holder;
        if (convertView == null) {
            LayoutInflater inflater =getLayoutInflater();
            vi = inflater.inflate(R.layout.item, parent);
            holder = new ViewHolder();
            holder.text = (TextView) vi.findViewById(R.id.text);
            holder.image = (ImageView) vi.findViewById(R.id.image);
            vi.setTag(holder);
        } else{
                  vi = convertView;
                   holder = (ViewHolder) vi.getTag();
                  }
        String texttoappend = CategoryList.get(position);
        Log.v("texttoappend", texttoappend);
        holder.text.setText(CategoryList.get(position).toString());
        holder.image.setTag(R.drawable.go_arrow);
        // imageLoader.DisplayImage(data[position], activity, holder.image);
        return vi;
    }
}
我将getView函数编辑为ablove(请参见我的代码编辑) 这比每个人回复都有效

请尝试下面的代码

runOnUiThread(new Runnable()
{           
    @Override
    public void run()
    {
        adapter = new CategoryListAdapter(CategoryActivity.this, CategoryList);

    }
});

请尝试在您的网站上更换此CategoryListAdapter,并告诉我发生了什么

编辑:

11-08 13:57:29.668: ERROR/AndroidRuntime(1386): Uncaught handler: thread main exiting due to uncaught exception

11-08 13:57:29.678: ERROR/AndroidRuntime(1386): java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.AdapterView.addView(AdapterView.java:461)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.LayoutInflater.inflate(LayoutInflater.java:415)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.LayoutInflater.inflate(LayoutInflater.java:320)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.LayoutInflater.inflate(LayoutInflater.java:276)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at com.ecommerce.balajeebazaar.CategoryListAdapter.getView(CategoryListAdapter.java:64)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.AbsListView.obtainView(AbsListView.java:1273)
11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     
                             at android.widget.ListView.measureHeightOfChildren(ListView.java:1147)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.ListView.onMeasure(ListView.java:1060)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.View.measure(View.java:7703)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:2989)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:888)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:350)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:278)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.View.measure(View.java:7703)
11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     
                             at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:2989)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.View.measure(View.java:7703)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:464)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:278)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.View.measure(View.java:7703)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:2989)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at android.view.View.measure(View.java:7703)
11-08 13:57:29.678: ERROR/AndroidRuntime(1386):    
                             at android.view.ViewRoot.performTraversals(ViewRoot.java:747)
11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     
                             at android.view.ViewRoot.handleMessage(ViewRoot.java:1613)
11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     
                                                                                 at android.os.Handler.dispatchMessage(Handler.java:99)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386): at android.os.Looper.loop(Looper.java:123)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386): at android.app.ActivityThread.main(ActivityThread.java:4203)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):  at java.lang.reflect.Method.invokeNative(Native Method)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):  at java.lang.reflect.Method.invoke(Method.java:521)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)

11-08 13:57:29.678: ERROR/AndroidRuntime(1386):     at dalvik.system.NativeStart.main(Native Method)
CategoryArray = CW.CategoryWebservice("http://www.balajeebazaar.com/RestServiceImpl.svc/categorydetails");

for(int i = 0;i<=CategoryArray.length()-1;i++){
            try {
                Log.v("Categories :- ", CategoryArray.getString(i)+"");
                String[] val = new String[3];
                val = CategoryArray.getString(i).split(",");
                Log.v("val[0] :  ", val[0]);
                Log.v("val[1]  :", val[1]);
                CategoryList.add(i, val[0]+" "+val[1]);
                val = null;
                Log.v("CATEGORY LIST", CategoryList.get(i).toString());
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        //CategoryList.size();
        adapter = new CategoryListAdapter(CategoryActivity.this, CategoryList);
public class CategoryListAdapter extends BaseAdapter {
    private Activity activity;
    // private String[] data;
    private ArrayList<String> CategoryList = new ArrayList<String>();
    private static LayoutInflater inflater = null;

    // public ImageLoader imageLoader;

    public CategoryListAdapter(Activity a, ArrayList<String> categorylist) {
        activity = a;
        // data = d;
        inflater = (LayoutInflater) activity
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        CategoryList = categorylist;
        // imageLoader=new ImageLoader(activity.getApplicationContext());
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return CategoryList.size();
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    public static class ViewHolder {
        public TextView text;
        public ImageView image;
    }
   public class CategoryListAdapter extends BaseAdapter {
    private Activity activity;
    // private String[] data;
    private ArrayList<String> CategoryList = new ArrayList<String>();

    public CategoryListAdapter(Activity a, ArrayList<String> categorylist) {
        activity = a;
        CategoryList = categorylist;

    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return CategoryList.size();
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    public static class ViewHolder {
        public TextView text;
        public ImageView image;
    }

     @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        View vi;
        ViewHolder holder;
        if (convertView == null) {
            LayoutInflater inflater =getLayoutInflater();
            vi = inflater.inflate(R.layout.item, parent);
            holder = new ViewHolder();
            holder.text = (TextView) vi.findViewById(R.id.text);
            holder.image = (ImageView) vi.findViewById(R.id.image);
            vi.setTag(holder);
        } else{
                  vi = convertView;
                   holder = (ViewHolder) vi.getTag();
                  }
        String texttoappend = CategoryList.get(position);
        Log.v("texttoappend", texttoappend);
        holder.text.setText(CategoryList.get(position).toString());
        holder.image.setTag(R.drawable.go_arrow);
        // imageLoader.DisplayImage(data[position], activity, holder.image);
        return vi;
    }
}
公共类CategoryListAdapter扩展了BaseAdapter{
私人活动;
//私有字符串[]数据;
私有ArrayList CategoryList=新ArrayList();
公共类别列表适配器(活动a,ArrayList类别列表){
活动=a;
类别列表=类别列表;
}
@凌驾
public int getCount(){
//TODO自动生成的方法存根
返回CategoryList.size();
}
@凌驾
公共对象getItem(int位置){
//TODO自动生成的方法存根
返回位置;
}
@凌驾
公共长getItemId(int位置){
//TODO自动生成的方法存根
返回位置;
}
公共静态类视图持有者{
公共文本查看文本;
公众形象;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
//TODO自动生成的方法存根
视图六;
视窗座;
if(convertView==null){
LayoutInflater充气机=getLayoutInflater();
vi=充气机。充气(R.布局.项目,父项);
holder=新的ViewHolder();
holder.text=(TextView)vi.findViewById(R.id.text);
holder.image=(ImageView)vi.findViewById(R.id.image);
vi.setTag(支架);
}否则{
vi=转换视图;
holder=(ViewHolder)vi.getTag();
}
String texttoappend=CategoryList.get(位置);
Log.v(“texttoappend”,texttoappend);
holder.text.setText(CategoryList.get(position.toString());
holder.image.setTag(可拉深的右箭头);
//imageLoader.DisplayImage(数据[位置]、活动、持有者.image);
返回vi;
}
}

感谢您的回复,但我对该行适配器=new CategoryListAdapter(CategoryActivity.this,CategoryList)没有问题;我的adapter Classis中的getview()函数有问题,我知道,但是您是否尝试过我提供的代码,并且getview仅在您设置adapter时才被调用,因此问题的根源在该行查看我编辑的答案,您可以查看我编辑的adapter类,并让我知道发生了什么。