내 앱에서 갤러리보기를 사용하고 있습니다. 응용 프로그램은 그 갤러리에서 뷰를 드래그 앤 드롭 할 수 있도록 설계되었습니다.android : 갤러리에서보기 제거
갤러리에서 드래그 한보기를 제거하려면 어떻게해야합니까?
내 앱에서 갤러리보기를 사용하고 있습니다. 응용 프로그램은 그 갤러리에서 뷰를 드래그 앤 드롭 할 수 있도록 설계되었습니다.android : 갤러리에서보기 제거
갤러리에서 드래그 한보기를 제거하려면 어떻게해야합니까?
기본 어댑터에서 제거합니다. 이 작업을 올바르게 수행하면 Gallery
이 자동으로 새로 고침됩니다. 그렇지 않으면 어댑터의 notifyDataSetChanged()
으로 전화하여 Gallery
업데이트를 트리거하십시오.
ImageAdapter를 재정의하는 경우 이미지 목록에 항목을 삭제하거나 항목을 추가하는 방법을 추가하거나 원하는 경우 즉시 목록을 완전히 바꿀 수 있으므로 원하는대로 내용을 수정할 수 있습니다. 시작시 앱 배너를 표시하고 갤러리가 슬라이더로 응용 프로그램의 모드를 표시하도록 변경합니다. ImageAdapter의 데이터 세트를 수정하는 메서드를 호출 할 때마다 CommonsWare가 위에서 말한 것처럼 imageAdapter.notifyDataSetChanged()를 호출합니다.
// in onCreate
_gallery = (Gallery) this.findViewById(R.id.gallery_header);
_imageAdapter = new ImageAdapter(getApplicationContext(),screen_width,screen_height);
_imageAdapter.setBannerMode(true);
_gallery.setAdapter(_imageAdapter);
// the main activity, in my case in a message handler.
_imageAdapter.setBannerMode(false);
_imageAdapter.notifyDataSetChanged();
_gallery.setSelection(0,true);
// this is my extended image adapter class
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
public class ImageAdapter extends BaseAdapter
{
private Context _context = null;
private int[] imageIds = { R.drawable.add_banner,R.drawable.subtract_banner,R.drawable.multiply_banner,R.drawable.divide_banner };
private int[] bannerIds = { R.drawable.mathpiggie_banner };
private static boolean bannerEnabled = true;
int _screen_width;
int _screen_height;
public ImageAdapter(Context context, int screen_width, int screen_height) {
this._context = context;
_screen_width = screen_width;
_screen_height = screen_height;
}
public void setBannerMode(boolean val)
{
bannerEnabled = val;
}
@Override
public int getCount()
{
if (bannerEnabled)
return bannerIds.length;
else
return imageIds.length;
}
@Override
public Object getItem(int index)
{
if (bannerEnabled)
return bannerIds[index];
else
return imageIds[index];
}
@Override
public long getItemId(int index)
{
return index;
}
@Override
public View getView(int postion, View view, ViewGroup group)
{
ImageView imageView = new ImageView(_context);
if (bannerEnabled)
imageView.setImageResource(bannerIds[postion]);
else
imageView.setImageResource(imageIds[postion]);
return imageView;
}
}