Java 删除操作后如何刷新viewpager
在我的应用程序中,我使用查看寻呼机显示我的图像库 从“我的图库”中删除任何图像后,查看寻呼机应得到更新 我的活动Java 删除操作后如何刷新viewpager,java,android,android-viewpager,Java,Android,Android Viewpager,在我的应用程序中,我使用查看寻呼机显示我的图像库 从“我的图库”中删除任何图像后,查看寻呼机应得到更新 我的活动 public class FullScreenViewActivityForSelfImage extends Activity{ @SuppressWarnings("unused") private Utils utils; private FullScreenImageAdapterForSelfImage adapter; private static ViewPager
public class FullScreenViewActivityForSelfImage extends Activity{
@SuppressWarnings("unused")
private Utils utils;
private FullScreenImageAdapterForSelfImage adapter;
private static ViewPager viewPager;
DatabaseHelper db;
ArrayList<Image> aryimages;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fullscreen_view);
db=new DatabaseHelper(this);
viewPager = (ViewPager) findViewById(R.id.pager);
aryimages= db.getimages();
Intent i = getIntent();
int position = i.getIntExtra("position", 0);
adapter = new FullScreenImageAdapterForSelfImage(FullScreenViewActivityForSelfImage.this,
aryimages,this);
viewPager.setAdapter(adapter);
// displaying selected image first
viewPager.setCurrentItem(position);
}
public static ViewPager getAdapter() {
return viewPager;
}
}
在适配器中,我尝试刷新
public void handleResponse(String response) {
System.out.println("handle REsponse...got result..."+response);
if(response.equalsIgnoreCase("0"))
{
System.out.println("!!!!!!!!!!Server Busy try again latter!!!!!!!!!!!!!!!!");
Toast.makeText(context.getApplicationContext(), "Server Busy try again latter", Toast.LENGTH_LONG).show();
}
else if(response.equalsIgnoreCase("1"))
{
System.out.println("!!!!!!!!!!!!Image deleted!!!!!!!!!!!!!!!!!!!");
Toast.makeText(context.getApplicationContext(), "Image deleted", Toast.LENGTH_LONG).show();
db.deleteImageSelected(id);
_imagePaths.remove(i);
ImageListAdapter.notifyDataSetChanged();
}
}
图像适配器
public class ImageListAdapter extends BaseAdapter {
//private Context context;
private ArrayList<Image> Img;
private LayoutInflater inflater = null;
public ImageListAdapter(Context context, ArrayList<Image> Image) {
// this.context = context;
this.Img = Image;
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return Img.size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@SuppressLint("InflateParams")
@SuppressWarnings("unused")
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = null;
if (convertView == null) {
view = inflater.inflate(R.layout.imageshow, null);
} else {
view = convertView;
}
ImageView iv= (ImageView) view.findViewById(R.id.imageshowView1);
TextView name= (TextView) view.findViewById(R.id.Imageshownametv);
TextView id= (TextView) view.findViewById(R.id.Imageshowidtv);
TextView desc= (TextView) view.findViewById(R.id.Imageshowimagedesc);
id.setText(Img.get(position).Image_id);
byte[] I= Img.get(position).image;
System.out.println("Byte array of the image "+I);
Bitmap bp=BitmapFactory.decodeByteArray(I, 0, I.length);
iv.setImageBitmap(bp);
return view;
}
}
公共类ImageListAdapter扩展了BaseAdapter{
//私人语境;
私人ArrayList Img;
专用充气机=空;
公共ImageListAdapter(上下文,ArrayList图像){
//this.context=上下文;
Img=图像;
充气器=(充气器)上下文
.getSystemService(上下文布局\充气机\服务);
}
@凌驾
public int getCount(){
返回Img.size();
}
@凌驾
公共对象getItem(int位置){
返回位置;
}
@凌驾
公共长getItemId(int位置){
返回位置;
}
@SuppressLint(“充气参数”)
@抑制警告(“未使用”)
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图=空;
if(convertView==null){
视图=充气机。充气(R.layout.imageshow,空);
}否则{
视图=转换视图;
}
ImageView iv=(ImageView)view.findViewById(R.id.imageshowView1);
TextView name=(TextView)view.findViewById(R.id.Imageshownametv);
TextView id=(TextView)view.findViewById(R.id.Imageshowidtv);
TextView desc=(TextView)view.findViewById(R.id.Imageshowimagedesc);
id.setText(Img.get(position).Image\u id);
字节[]I=Img.get(位置).image;
System.out.println(“图像的字节数组”+I);
位图bp=BitmapFactory.decodeByteArray(I,0,I.length);
iv.设置图像位图(bp);
返回视图;
}
}
但它还没有完成
因此,请帮助我..尝试调用
this.notifyDataSetChanged()代码>在ImageListAdapter.notifyDataSetChanged()之后代码>什么是ImageListAdapter
?它永远不会被初始化。或者至少它不在您发布的部分中。ImageListAdapter位于同一适配器类中…请参阅更新的post…初始化公共ImageListAdapter ImageListAdapter;在FullScreenImageAdapterForSelfImage构造函数中。与ImageListAdapter一样,new ImageListAdapter():
@anupamaJ需要使用所选ID删除图像并刷新适配器。
public void handleResponse(String response) {
System.out.println("handle REsponse...got result..."+response);
if(response.equalsIgnoreCase("0"))
{
System.out.println("!!!!!!!!!!Server Busy try again latter!!!!!!!!!!!!!!!!");
Toast.makeText(context.getApplicationContext(), "Server Busy try again latter", Toast.LENGTH_LONG).show();
}
else if(response.equalsIgnoreCase("1"))
{
System.out.println("!!!!!!!!!!!!Image deleted!!!!!!!!!!!!!!!!!!!");
Toast.makeText(context.getApplicationContext(), "Image deleted", Toast.LENGTH_LONG).show();
db.deleteImageSelected(id);
_imagePaths.remove(i);
ImageListAdapter.notifyDataSetChanged();
}
}
public class ImageListAdapter extends BaseAdapter {
//private Context context;
private ArrayList<Image> Img;
private LayoutInflater inflater = null;
public ImageListAdapter(Context context, ArrayList<Image> Image) {
// this.context = context;
this.Img = Image;
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return Img.size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@SuppressLint("InflateParams")
@SuppressWarnings("unused")
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = null;
if (convertView == null) {
view = inflater.inflate(R.layout.imageshow, null);
} else {
view = convertView;
}
ImageView iv= (ImageView) view.findViewById(R.id.imageshowView1);
TextView name= (TextView) view.findViewById(R.id.Imageshownametv);
TextView id= (TextView) view.findViewById(R.id.Imageshowidtv);
TextView desc= (TextView) view.findViewById(R.id.Imageshowimagedesc);
id.setText(Img.get(position).Image_id);
byte[] I= Img.get(position).image;
System.out.println("Byte array of the image "+I);
Bitmap bp=BitmapFactory.decodeByteArray(I, 0, I.length);
iv.setImageBitmap(bp);
return view;
}
}