2012-07-19 51 views

回答

4

你可以在你的情況下做什麼總是有一個圖像分配給你的網格視圖的最後一項。 點擊最後一個項目,你可以創建一個彈出窗口,要求你把它帶到你的畫廊或相機。 現在如果用戶點擊後退按鈕或決定取消在網格視圖中繼續顯示上次填充的「+」號圖像,如果選擇了任何其他選項,則可以通過在onActivityResult(). 之間導航到期望的操作,如果結果代碼是積極的,你可以繼續:

1) Delete the last item from grid view i.e, the '+' sign image 
2) Appending the image either taken from camera or gallery 
3) Appending the image having '+' sign itself 

始終把條件爲網格視圖的最後一個項目把它指向的對話框中導航到畫廊或從相機點擊。 對於其他物品,您可能會繼續滿足您的所需要求。

讓我知道它是否有幫助。

感謝

1

認沽圖像[圖片]在SD卡

public class ChannelImageAdapter extends BaseAdapter { 

int mGalleryItemBackground; 
private Context mContext; 
File[] images; 
File[] files; 
public ChannelImageAdapter(Context c, int folderID) { 
    mContext = c; 

    File dir = new File(Environment.getExternalStorageDirectory() + "/images"); 
    files = dir.listFiles(); 
    images = files[folderID].listFiles(); 

} 
public int getCount() { 
    return images.length; 
} 
public Object getItem(int position) { 
    return images[position].getAbsolutePath(); 
} 
public long getItemId(int position) { 
    return position; 
} 
public String getAlbumName(int folderID) { 
    return files[folderID].getName(); 
} 
public View getView(int position, View convertView, ViewGroup parent) { 

    ImageView imageView; 
    //Bitmap bm = BitmapFactory 
    //  .decodeFile(images[position].getAbsolutePath()); 
    if (convertView == null) { 
     imageView = new ImageView(mContext); 
     imageView.setLayoutParams(new GridView.LayoutParams(100, 100)); 
     imageView.setScaleType(ImageView.ScaleType.FIT_XY); 
     imageView.setPadding(5, 10, 5, 10); 
    } else { 
     imageView = (ImageView) convertView; 
    } 
    imageView.setImageBitmap(Bitmap.decode(images[position].getAbsoluteFile())); 
    return imageView; 

} 

}

相關問題