不为CustomAdapter调用getView()

时间:2014-01-29 18:02:41

标签: java android android-listview arraylist custom-adapter

值位于控制台

中显示的ArrayList q
for(int i=0;i<q.size();i++)
    {
        Log.i("outside",""+q.get(i).getAS_name());
    }

lv = (ListView) findViewById(R.id.listView1);
      //calling constructor
    lv.setAdapter(new CustomAdapter(MainActivity.this,q));
    //lv.setAdapter(adapter);

CustomAdapter.java

class CustomAdapter extends ArrayAdapter<GS>
  {
       ArrayList<GS> list;
       LayoutInflater mInfalter;    
       public CustomAdapter(Context context, ArrayList<GS> list)
       {
          super(context,R.layout.customlayout,list);
          this.list= list;  
          mInfalter = LayoutInflater.from(context);
        for(int i=0;i<list.size();i++)
        {
            Log.i("................",""+list.get(i).getAS_name()); //-----displayed in logcat-----
        }

       }
       @Override
        public View getView(int position, View convertView, ViewGroup parent) {
          ViewHolder holder;
          Log.i("..........","Hello in getView"); //--not displayed in logcat
          if(convertView==null)
          {
               convertView = mInfalter.inflate(R.layout.customlayout,parent,false);
               holder = new ViewHolder();
               holder.tv1 = (TextView)convertView.findViewById(R.id.textView1); 
               convertView.setTag(holder); 
          }else{
                holder = (ViewHolder)convertView.getTag();
          } 

                holder.tv1.setText(list.get(position).getAS_name());
          return convertView;
    }

  }
 static class ViewHolder
    {
        TextView tv1;
    }  

getView()甚至不会被调用一次!

我在做什么错?

提前致谢

1 个答案:

答案 0 :(得分:0)

缺少getCount()函数的实现

  public int getCount(){
            return list.size();
        }