Java 为什么我无法在适配器中接收数据
这段代码在我的MainActivity.java中,我可以从这里打印日志cat中的标题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
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谢谢。我在文档中寻找构造器:)准备将其作为答案发布,但你比我快了几秒钟。和往常一样,你跑得非常快