Android 从Listview中删除和还原项

Android 从Listview中删除和还原项,android,checkbox,arraylist,android-listview,baseadapter,Android,Checkbox,Arraylist,Android Listview,Baseadapter,我在main.xml中有一个listview,在另一个名为options的xml中有几个复选框。 listview连接到custombaseadapter,并用项目填充。 我希望用户能够通过选中或取消选中复选框从listview中删除和恢复项目(最好是在同一位置)。 我的问题是如何使用baseadapter来实现这一点? 非常感谢您的帮助和一些示例代码。 Thx 基本适配器代码: public class MyCustomBaseAdapter extends BaseAdapter { pr

我在main.xml中有一个listview,在另一个名为options的xml中有几个复选框。 listview连接到custombaseadapter,并用项目填充。 我希望用户能够通过选中或取消选中复选框从listview中删除和恢复项目(最好是在同一位置)。 我的问题是如何使用baseadapter来实现这一点? 非常感谢您的帮助和一些示例代码。 Thx

基本适配器代码:

public class MyCustomBaseAdapter extends BaseAdapter {

private static ArrayList<SearchResults> searchArrayList;

  private LayoutInflater mInflater;


 public MyCustomBaseAdapter(Context context, ArrayList<SearchResults> results) {
   searchArrayList = results;
   mInflater = LayoutInflater.from(context);
  }


public int getCount() {
   return searchArrayList.size();
  }

 public Object getItem(int position) {
   return searchArrayList.get(position);
  }

 public long getItemId(int position) {
   return position;
  }

 public View getView(int position, View convertView, ViewGroup parent) {
   ViewHolder holder;
   if (convertView == null) {
    convertView = mInflater.inflate(R.layout.test, null);
    holder = new ViewHolder();
    holder.txtNaam = (TextView) convertView.findViewById(R.id.naam);
    holder.txtWaarde = (TextView) convertView.findViewById(R.id.waarde);

   convertView.setTag(holder);
   } else {
    holder = (ViewHolder) convertView.getTag();
   }

   holder.txtNaam.setText(searchArrayList.get(position).getNaam());
   holder.txtWaarde.setText(searchArrayList.get(position).getWaarde());

  return convertView;
  }

 static class ViewHolder {
   TextView txtNaam;
   TextView txtWaarde;
  }


}
选项xml文件中的代码,其中复选框为:

public class MyBeltegoed extends Dialog  {

public interface ReadyListener { 
    public void ready(boolean nieuwbel); 
    public void ready1(boolean vorige); 
    public void ready2(boolean teg_tot); 
    public void ready3(boolean verbruik_teg); 
    public void ready4(boolean ongebruik_teg); 
    public void ready5(boolean boven_bundel); 
    public void ready6(boolean niet_bundel); 
} 

private ReadyListener readyListener; 

public MyBeltegoed(Context context, ReadyListener readyListener) { 
    super(context); 
    this.readyListener = readyListener; 
} 


@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(com.sencide.R.layout.beltegoed); 

    Button buttonOk = (Button) findViewById(R.id.btnBel); 
    buttonOk.setOnClickListener(new OKListener()); 

} 

private class OKListener implements android.view.View.OnClickListener { 

    public void onClick(View v) { 
        CheckBox niewbel = (CheckBox) findViewById(R.id.nieuwbel); 
        readyListener.ready(niewbel.isChecked()); 

        CheckBox vorige = (CheckBox) findViewById(R.id.vorige); 
        readyListener.ready1(vorige.isChecked()); 
      }
    }
public class MyBeltegoed extends Dialog  {

public interface ReadyListener { 
    public void ready(boolean nieuwbel); 
    public void ready1(boolean vorige); 
    public void ready2(boolean teg_tot); 
    public void ready3(boolean verbruik_teg); 
    public void ready4(boolean ongebruik_teg); 
    public void ready5(boolean boven_bundel); 
    public void ready6(boolean niet_bundel); 
} 

private ReadyListener readyListener; 

public MyBeltegoed(Context context, ReadyListener readyListener) { 
    super(context); 
    this.readyListener = readyListener; 
} 


@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(com.sencide.R.layout.beltegoed); 

    Button buttonOk = (Button) findViewById(R.id.btnBel); 
    buttonOk.setOnClickListener(new OKListener()); 

} 

private class OKListener implements android.view.View.OnClickListener { 

    public void onClick(View v) { 
        CheckBox niewbel = (CheckBox) findViewById(R.id.nieuwbel); 
        readyListener.ready(niewbel.isChecked()); 

        CheckBox vorige = (CheckBox) findViewById(R.id.vorige); 
        readyListener.ready1(vorige.isChecked()); 
      }
    }