如何在网格视图的单个适配器中使用两种不同类型的数组



让我解释一下我的问题,我有一个网格视图,它必须显示资源文件夹中的图像,即drawables和设备中的图像。因此,我为资源图像制作了int数组,为设备中图像的自定义数据类型制作了arraylist

现在它看起来像是来自资源的图像阵列

 public static Integer[] mThumbIds = {R.drawable.myImage_1, R.drawable.myImage, R.drawable.myImage,
        R.drawable.myImage};

以及我的自定义数据类型的数组列表

static List<MyDetails> myData = new ArrayList<MyDetails>(myDb.GetAllData());

简言之,我们知道资源中的图像是整数,而我的自定义数组列表中的图像有一个字符串路径,这是告诉图像在我的设备上的路径,所以我的picasso库从那里获得图像

现在我的问题是,我知道如何显示单个阵列中的图像,以及如何设置相应的适配器,但在这种情况下,我想显示来自我的数组列表的图像,以及来自我的资源文件夹。

你知道如何做到这一点吗?

List all = new Arraylist(mThumbIds);
all.addAll(MyDetails);
getView(int i){
  Object object = m.get(i);
  if(object instanceof Integer){
  //form resource;
     int resid = (int)object;
  }else if(object instanceof MyDetails){
  //from db;
     MyDetails mydetail = (MyDetails)object;
 }
}

最新更新