Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 删除操作后如何刷新viewpager_Java_Android_Android Viewpager - Fatal编程技术网

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;
    }

}