2012-07-19 8 views

Odpowiedz

4

Co można zrobić w twoim przypadku, zawsze ma obraz przypisany do ostatniego elementu w widoku siatki. Klikając na ten ostatni element, możesz utworzyć wyskakujące okienko z prośbą o zabranie go do galerii lub aparatu. Teraz, gdy użytkownik kliknie przycisk Wstecz lub zdecyduje się anulować, wyświetlaj ostatnio zapełniony obraz znaku "+" w widoku siatki, jeśli wybrano inną opcję, możesz przejść do żądanej czynności, wykonując w onActivityResult(). , jeśli wynik Kod jest pozytywna i można kontynuować:

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 

i zawsze postawić warunek dla ostatniego elementu widoku siatki, aby skierować go do okna dialogowego do nawigacji do galerii lub kliknij z aparatem. W przypadku innych produktów możesz kontynuować spełnianie żądanych wymagań.

Daj mi znać, jeśli to pomogło.

Dzięki

1

obrazy umieszczone w folderze [obrazy] na karcie 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; 

} 

}