我正在尝试listview
使用checkbox
listview 的内置复选框方法。我浏览了一篇 stackoverflow 帖子,发现它运行正常,除了一个问题。
如果列表中有四个项目并假设,我检查了第二个和第三个项目,单击时,它会根据需要显示第二个和第三个项目..但是如果我选择第一个然后是第三个然后是第二个项目,然后我取消选中第一个,所以我必须留下第二个和第三个作为所需的输出。但它提供了第一个第二个和第三个项目作为输出。
有人可以指导我吗..?
这是java代码:
public class TailoredtwoActivity extends Activity implements OnItemClickListener, OnClickListener{
Button btn1;
ListView mListView;
String[] array = new String[] {"Ham", "Turkey", "Bread"};
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tailoredtwo);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_checked, array);
mListView = (ListView) findViewById(R.id.listViewcity);
mListView.setAdapter(adapter);
mListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
Button button = (Button) findViewById(R.id.btn_tailortwo_submit);
button.setOnClickListener(this);
}
public void onClick(View view) {
SparseBooleanArray positions = mListView.getCheckedItemPositions();
int size = positions.size();
for(int index = 0; index < size; index++) {
Toast.makeText(getApplicationContext(), array[positions.keyAt(index)].toString(), Toast.LENGTH_LONG).show();
}
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
}
}