实现点击按钮删除相应的条目
点击删除键之后
具体代码如下:
public class MainActivity extends AppCompatActivity {
private ListView mListView;
private Button mButton;
private List<String> array = new ArrayList<String>();
private List<String> select = new ArrayList<>();
private MyAdapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化集合
init();
mButton = (Button) findViewById(R.id.bt);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//删除条目,刷新ListView
delete();
}
});
mListView = (ListView) findViewById(R.id.lv);
//给ListView配置适配器
mAdapter = new MyAdapter();
mListView.setAdapter(mAdapter);
}
private void init() {
for(int i = 0;i <= 49;i++){
array.add("我是测试的"+i);
}
}
//删除并刷新
private void delete() {
//遍历集合
for(int i=0;i<select.size();i++){
for(int j=0;j<array.size();j++){
if(select.get(i).equals(array.get(j))){
array.remove(j);
}
}
}
mAdapter.notifyDataSetChanged();
}
private class MyAdapter extends BaseAdapter{
@Override
public int getCount() {
return array.size();
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup viewGroup) {
View view = View.inflate(MainActivity.this,R.layout.list,null);
TextView tv = view.findViewById(R.id.tv);
tv.setText(array.get(position));
CheckBox cb = view.findViewById(R.id.cb);
cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
//如果CheckBox被点击,那么把它添加到集合中
if (b){
select.add(array.get(position));
}
}
});
return view;
}
}
}