【发布时间】:2014-04-14 17:05:12
【问题描述】:
我有带复选框的列表视图。并将已检查的项目存储到另一个数组列表中。这是在另一个布局上设置的。但是当我回到当前活动并更改复选框的选择时,另一个活动的数组列表不会丢弃先前的选择。如何解决? 这是我的代码。
enno = (CheckBox) convertView.findViewById(R.id.titleTxt);
enno.setText(arrStudentList.get(position).getEnno());
enno.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e("dr","hello11");
selectedStudents.add(String.valueOf(arrStudentList.get(position).getEnno()));
Log.e("dr",String.valueOf(selectedStudents.size()));
Toast.makeText(getApplicationContext(), String.valueOf(arrStudentList.get(position).getEnno()), Toast.LENGTH_SHORT).show();
............................
............................
public void onClick(View v) {
SparseBooleanArray checked = listView.getCheckedItemPositions();
for (int i = 0; i < checked.size(); i++) {
// Item position in adapter
int position = checked.keyAt(i);
// Add sport if it is checked i.e.) == TRUE!
if (checked.valueAt(i))
selectedStudents.add(String.valueOf(arrStudentList.get(position).getEnno()));
}
String[] outputStrArr = new String[selectedStudents.size()];
Log.e("dr","hello14");
Log.e("dr",String.valueOf(selectedStudents.size()));
for (int i = 0; i < selectedStudents.size(); i++) {
outputStrArr[i] = selectedStudents.get(i);
Log.e("dr","hello15");
}
Intent intent = new Intent(getApplicationContext(),
ResultActivity.class);
// Create a bundle object
Bundle b = new Bundle();
b.putStringArray("selectedStudents", outputStrArr);
// Add the bundle to the intent.
intent.putExtras(b);
// start the ResultActivity
startActivity(intent);
【问题讨论】: