首頁>Program>source

我尝試開發一个Android應用程式,该應用程式允许使用者从flickr获取資料並將其顯示在 GridView中   (帶有一些不錯的3D動画).经過一些冒险之後,我几乎將其執行了,但現在我被卡住了。


問题出在這裏

我有一个UI執行緒" LoadPhotosTask",它可以从flickr获取圖片,就像開源應用程式教程).如果我在 onProgressUpdate(LoadedPhoto... value)中使用陣列   我可以在 addPhoto()上上Class   与一些示例圖像.但是,如果我想在執行時填充它,我不知道该怎麼办。

如何在 @Override public void onProgressUpdate(LoadedPhoto... value) { addPhoto(value); }中設置getView方法 ? 我試圖填充 GridView內部的陣列   我在 ImageAdapter中的value观的Class堂 ,但不会顯示任何內容。

所以首先我要用我想在網格中顯示的照片數量設置陣列(代碼在 BaseAdapter內部   Class):

ImageAdapter

然後我以我的照片列表的长度来呼叫此方法:

GridView

然後,我在addPhoto方法中手動呼叫getView方法:

ImageAdapter

這是ImageAdapter內部的getView方法:

ImageAdapter
addPhoto
最新回復
  • 4天前
    1 #

    您缺少關键部分。

    使用威兹威兹時   您有一个稱為notifyDataSetChanged()的方法。 您缺少的邏輯如下:

    建立 Adapter時   對於 Adapter   留有適配器將使用的列表的參考.像這樣:

    GridView
    

    您的addPhoto應该執行以下操作:

    private ArrayList<Photo> mPhotos;
    private BaseAdapter mAdapter;
    private GridView mGridView;
    onCreate:
    /* other things here */
    mAdapter = new MyAdapter(mPhotos);
    mGridView.setAdapter(mAdapter);
    

    就是這樣。

    mPhotos.add(photo); mAdapter.notifyDataSetChanged();

  • 使用遗傳演算法的圖像處理
  • performance:如何从Java中的BufferedReader物件提取全部內容的最佳方法是什麼?