2013-12-17 19 views
1

此代码是我MainActivity.java,我能够从这里为什么我不能在我的适配器

feedsDataArray = feedsData.toArray(feedsDataArray); 
     for(int i = 0 ; i < feedsDataArray.length ; i++){ 
      Log.v("Array",feedsDataArray[i].getTitle()); 
     } 

listview = (ListView) findViewById(R.id.list); 
feedsAdapter = new FeedsAdapter(NewsFeedsActivity.this, R.layout.feeds_list, 
      feedsDataArray); 
listview.setAdapter(feedsAdapter); 

在日志猫打印标题但是,当我把它传递给适配器,然后接收数据我无法在那里获得数据

public class FeedsAdapter extends ArrayAdapter<FeedsItems>{ 

    Context context; 
    int id; 
    FeedsItems [] dataArray; 

    public FeedsAdapter(Context context, int id,FeedsItems [] dataArray) { 
     super(context,id); 

     this.context = context; 
     this.id = id; 
     this.dataArray = dataArray; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 

     View row = convertView; 
     FeedsHolder holder = null; 

     if (row == null) {     

      LayoutInflater inflater = ((Activity) context).getLayoutInflater(); 
      row = inflater.inflate(id, parent, false); 
      holder = new FeedsHolder(); 
      holder.imgIcon = (ImageView) row.findViewById(R.id.feeds_image); 
      holder.txtTitle = (TextView) row.findViewById(R.id.feeds_title); 

      row.setTag(holder); 
     } 
     else{ 
      holder = (FeedsHolder)row.getTag(); 
     } 

     //holder.imgIcon.setImageResource(); 
     holder.txtTitle.setText(data.get(position).getTitle()); 
     Log.v("Title"+position,dataArray[position].getTitle()); 

     return row; 
    } 

    static class FeedsHolder{ 
     ImageView imgIcon; 
     TextView txtTitle; 
    } 


} 

任何建议或帮助将不胜感激。 Thnx

回答

4

您必须覆盖getCount并让它返回dataArray.lenght或将dataArray传递给ArrayAdapter的超级构造函数。

我们来看一看在documentation

+3

是'超(上下文ID,dataArray中);' – Raghunandan

+0

@Raghunandan感谢。我正在寻找文档中的构造函数:) – Blackbelt

+1

即将发布它作为答案,但你几秒钟就打败了我。一如既往,你超级快 – Raghunandan

0

只是添加到您的适配器类...

@Override 
    public int getCount() { 
     return dataArray.length; 
    } 
相关问题