我的项目包含显示图像网格的片段.我知道显示所有图像,但我只想显示几个图像,如何


1. 
public class FragmentOne extends Fragment {
    // Displaying Grid of Images in GridView.
    private GridView gridView;
    // Using ArrayList for drawable Images.
    ArrayList<Drawable> allDrawableImages = new ArrayList<>();
    private TypedArray allImages;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        // Return the rootView of Grid Images
        View rootView = inflater.inflate(R.layout.fragment_one, null);
        getAllWidgets(rootView);
        setAdapter();
        return rootView;
    }
    private void getAllWidgets(View view) {
        gridView = (GridView) view.findViewById(R.id.gridViewFragmentOne);
        allImages = getResources().obtainTypedArray(R.array.all_images);
    }
    private void setAdapter()
    {
        // Displaying Images from Drawable folder.
        // Adding the Images to Grid from Drawable folder
        for (int i = 0; i < allImages.length(); i++) {
            allDrawableImages.add(allImages.getDrawable(i));
        }
        // Drawing Images using ImageAdapter into activity
        // Displaying Images into GridView.
        ImageAdapter imageAdapter = new ImageAdapter(MainActivity.getInstance(), allDrawableImages);
        gridView.setAdapter(imageAdapter);
    } 
}

这是代码,如何在 ArrayList 中编辑代码以仅显示我要显示的图像。

只需创建一个过滤列表?创建一个新ArrayList ( List<> (,并将原始中的项目添加到要保留的 for 循环中。如果您的列表经常动态更改,请在自定义Adapter中执行此操作,以避免一直重新创建Adapter

或者只是简单地在这里将要显示的图像放入列表中:

for (int i = 0; i < allImages.length(); i++) {
    if (iWantToDisplayImage(i)) {
        allDrawableImages.add(allImages.getDrawable(i));
    }
}

最新更新