Java 为什么我无法在适配器中接收数据

Java 为什么我无法在适配器中接收数据,java,android,listview,android-arrayadapter,Java,Android,Listview,Android Arrayadapter,这段代码在我的MainActivity.java中,我可以从这里打印日志cat中的标题 feedsDataArray = feedsData.toArray(feedsDataArray); for(int i = 0 ; i < feedsDataArray.length ; i++){ Log.v("Array",feedsDataArray[i].getTitle()); } listview = (ListView) fin

这段代码在我的MainActivity.java中,我可以从这里打印日志cat中的标题

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);
feedsDataArray=feedsData.toArray(feedsDataArray);
对于(int i=0;i
但当我将其传递给适配器时,我无法在那个里获取数据

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;
    }


}
公共类FeedsAdapter扩展了ArrayAdapter{
语境;
int-id;
FeedsItems[]数据数组;
公共FeedsAdapter(上下文上下文,int-id,FeedsItems[]数据数组){
super(上下文,id);
this.context=上下文;
this.id=id;
this.dataArray=dataArray;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图行=转换视图;
FeedsHolder holder=null;
如果(行==null){
LayoutInflater充气器=((活动)上下文)。getLayoutInflater();
row=充气机。充气(id,父项,false);
支架=新的进料支架();
holder.imgIcon=(ImageView)row.findViewById(R.id.feeds\u image);
holder.txtTitle=(TextView)row.findViewById(R.id.feeds\u title);
row.setTag(支架);
}
否则{
holder=(FeedsHolder)row.getTag();
}
//holder.imgIcon.setImageResource();
holder.txtitle.setText(data.get(position.getTitle());
Log.v(“Title”+position,dataArray[position].getTitle());
返回行;
}
静态级给料机{
ImageView imgIcon;
TextView-txtTitle;
}
}

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

您必须重写
getCount
并让它返回
dataArray.lengh
或将
dataArray
传递给
ArrayAdapter
的超级构造函数


查看一下您必须重写
getCount
并让它返回
dataArray.lengh
或将
dataArray
传递给
ArrayAdapter
的超级构造函数


查看一下

只需将其添加到适配器类中

@Override
    public int getCount() {
        return dataArray.length;
    }

只需将其添加到适配器类中

@Override
    public int getCount() {
        return dataArray.length;
    }

可以是
super(上下文、id、数据数组)@Raghunandan谢谢。我在文档中寻找构造器:)准备将其作为答案发布,但你比我快了几秒钟。像往常一样,您可能是超级快速的
super(上下文、id、数据数组)@Raghunandan谢谢。我在文档中寻找构造器:)准备将其作为答案发布,但你比我快了几秒钟。和往常一样,你跑得非常快