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

时间:2015-11-12 09:50:08

标签: android gridview

让我解释一下我的问题,我有一个网格视图,它必须显示来自资源文件夹的图像,即drawable和设备。所以我为资源图像制作了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());

所以简而言之,因为我们知道资源中的图像是整数处理,而我的自定义数组列表中的图像有一个字符串路径,这是在我的设备上告诉图像位置的路径,所以我的毕加索库得到了来自那里的图像

  

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

你有什么想法,怎么做到这一点?

1 个答案:

答案 0 :(得分:0)

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;
 }

}