Я новичок в разработке Android. Я пытаюсь загрузить несколько изображений в ListView с помощью LazyAdapter. Я сохраняю изображения в папке с возможностью копирования. У меня есть четыре изображения: image1.jpg, image2.jpg, image3.jpg и image4.jpg. Но в ListView они идут в следующем порядке: image1.jpg, image2.jpg, image1.jpg, image2.jpg. Я попытался изменить методы getItemId() и getItem(), но это не помогает загрузить все изображения в ListView, я все еще вижу только два из них. Я не могу понять, что я делаю неправильно. Пожалуйста, обратитесь к моему кодуAndroid. LazyAdapter загружает изображения некорректно
public class MainActivityFragment extends Fragment {
CustomAdapter imagesAdapter;
public MainActivityFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
int[] images = {R.drawable.image1,
R.drawable.image2,
R.drawable.image3,
R.drawable.image4};
imagesAdapter = new CustomAdapter(getActivity(), images);
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
ListView listView = (ListView) rootView.findViewById(R.id.listView);
listView.setAdapter(imagesAdapter);
return rootView;
}
}
Вот мой LazyAdapter:
public class CustomAdapter extends BaseAdapter {
LayoutInflater inflater;
int[] imagePaths;
public CustomAdapter(Activity activity, int[] data) {
imagePaths = data;
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return imagePaths.length;
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if(view == null) {
view = inflater.inflate(R.layout.list_view_item, parent, false);
ImageView imageView = (ImageView) view.findViewById(R.id.imageView);
imageView.setImageResource(imagePaths[position]);
}
return view;
}
}
Пожалуйста, советы. Как заставить мой код работать правильно (т. Е. Показать все изображения в ListView, а не только два из них)?
Переместить строку 'imageView.setImageResource (imagePaths [положение]);' вне из 'if', чтобы правильно установить изображение в строку. – Luksprog