我有這樣的Listfragment:ListFragment只顯示第一個項目
private ArrayList<String>images;
private View view;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.activity_torrent_detail_images, container, false);
SetAdapter();
return view;
}
public void SetImages(ArrayList<String> images) {
this.images = images;
}
public void SetAdapter() {
if(images!= null && view != null) {
if(this.getActivity() != null) {
this.setListAdapter(new ImageAdapter(this.getActivity(),this.images));
}
}
}
這裏是我的適配器:
public class ImageAdapter extends ArrayAdapter<String> {
private final Context context;
private final ArrayList<String> images;
App app;
public ImageAdapter(Context context,
ArrayList<String> images) {
super(context, R.layout.search_row, images);
this.context = context;
this.images = images;
app =((App)context.getApplicationContext());
}
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.imagesrow, parent, false);
ImageView img = (ImageView)rowView.findViewById(R.id.imgImage);
app.imageLoader.displayImage(images.get(position), img);//this load the image from the http
return rowView;
}
}
最後,在我的活動
fragImages.SetImages(ListImage);
的問題是, listview只顯示第一張圖片。我查看了ListImage,它包含3個項目,所以listview應該顯示3個圖像。我錯過了什麼嗎?非常感謝。
是否在ImageAdapter圖像包含3個項目? – sandrstar
是的,它有3個項目 –
每個代碼看起來像setAdapter()在SetImages()之前被調用(onCreateView()從片段SetImages()之前調用)。是這樣嗎? – sandrstar