从适配器android返回更改的arrayList

Ani*_*tha 0 java android gridview arraylist

有gridview,其中设置适配器名为ImageAdapter,参数为arraylist.在适配器内部有onclicklistener,在此期间从arraylist中删除一个项目,然后当我ImageAdapter.notifyDataSetChanged在gridview项目中使用此行时将被删除.现在我需要在我的活动中更改arrayList,我怎么能得到它.

这是我的代码:

public class ImageAdapter extends BaseAdapter {
Context context;
ArrayList<String> listCheck = new ArrayList<String>(); 
ImageAdapter adapter = this;

    public ImageAdapter(Context context, ArrayList<String> list) { 
    this.context = context; 
    listCheck = list; 
}    
    @Override
public int getCount() {
    return listCheck.size();
}

    @Override
public Object getItem(int arg0) {
    return null; 
}

    @Override
public long getItemId(int arg0) {
    return 0;
}

    @Override 
public View getView(final int position, View convertView, ViewGroup parent) { 
    ViewHolder121 holder;
    if (convertView == null) {
        convertView = LayoutInflater.from(context).inflate(         
        R.layout.item_gridmain, null);  
        holder = new ViewHolder121();
        holder.imageView = (ImageView) convertView
                    .findViewById(R.id.img_selected_image); 
       holder.close = (ImageButton) convertView
                    .findViewById(R.id.img_btn_cancel); 
        convertView.setTag(holder);     
}

        else { 
        holder = (ViewHolder121) convertView.getTag();
    } 
    holder.close.setOnClickListener(new View.OnClickListener() {    
    public void onClick(View arg1) {
                listCheck.remove(position);
                adapter.notifyDataSetChanged();
 }  
}); Bitmap bm = decodeSampledBitmapFromUri(listCheck.get(position), 220,
                220);   
holder.imageView.setImageBitmap(bm);    
        return convertView; 
}       }
Run Code Online (Sandbox Code Playgroud)

片段代码:

ImageAdapter mainActivityAdapter = new ImageAdapter(getActivity(), ar1);    
                 gridview_withimage.setAdapter(mainActivityAdapter);
Run Code Online (Sandbox Code Playgroud)

问题:如何将改变的arraylist从ImageAdapter更改为Fragement

ρяσ*_*я K 6

如何从ImageAdapter更改arraylist到名为Fragement

创建一个方法,在ImageAdapter该方法中将返回在Adapter中用作数据源的ArrayList:

public ArrayList<String> getModifyList() {
    return listCheck; 
}
Run Code Online (Sandbox Code Playgroud)

getModifyList在Fragment中调用方法以使用Adapter对象获取ArrayList:

gridview_withimage.setAdapter(mainActivityAdapter);
gridview_withimage.postDelayed(new Runnable() {

 @Override
  public void run() {
 // TODO Auto-generated method stub
    ArrayList<String> arrNewList=mainActivityAdapter.getModifyList();           
  }
 }, 100);
Run Code Online (Sandbox Code Playgroud)