我在列表视图中显示名称,带有复选框,如果我单击该按钮时我需要删除选定的项目并从列表视图中,仅保留我需要在列表视图中显示的项目,这里我有按钮,我可以使用下面的代码找到我选择的项目,但我不知道如何删除这些项目,你能建议我吗
MainActivity.class:
public class MainActivity extends Activity {
private ListView listview;
ArrayList<String> items = new ArrayList<String>();
private int count;
private boolean[] thumbnailsselection;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fillarray();
count = items.size();
thumbnailsselection = new boolean[count];
listview = (ListView) findViewById(R.id.listView1);
listview.setAdapter(new ImageAdapter(MainActivity.this));
}
private void fillarray() {
// TODO Auto-generated method stub
items.clear();
items.add("Android alpha");
items.add("Android beta");
items.add("1.5 Cupcake (API level 3)");
items.add("1.6 Donut (API level 4)");
items.add("2.0 Eclair (API level 5)");
items.add("2.0.1 Eclair (API level 6)");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
public class ImageAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private Context mContext;
public ImageAdapter(Context context) {
mContext = context;
}
public int getCount() {
return count;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = LayoutInflater.from(mContext).inflate(
R.layout.row_photo, null);
holder.textview = (TextView) convertView
.findViewById(R.id.thumbImage);
holder.checkbox = (CheckBox) convertView
.findViewById(R.id.itemCheckBox);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.checkbox.setId(position);
holder.textview.setId(position);
holder.checkbox.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
CheckBox cb = (CheckBox) v;
int id = cb.getId();
if (thumbnailsselection[id]) {
cb.setChecked(false);
thumbnailsselection[id] = false;
} else {
cb.setChecked(true);
thumbnailsselection[id] = true;
}
}
});
holder.textview.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
int id = v.getId();
}
});
holder.textview.setText(items.get(position));
holder.checkbox.setChecked(thumbnailsselection[position]);
holder.id = position;
return convertView;
}
public void removeItems()
{
notifyDataSetChanged();
}
}
class ViewHolder {
TextView textview;
CheckBox checkbox;
int id;
}
public void click(View v) {
if (v.getId() == R.id.button1) {
boolean noSelect = false;
for (int i = 0; i < thumbnailsselection.length; i++) {
if (thumbnailsselection[i] == true) {
noSelect = true;
items.remove(i);
}
}
thumbnailsselection = new boolean[items.size()];
adapter.removeItems();
}
}
}