gpt4 book ai didi

android - 在 android 中使用复选框数组

转载 作者:行者123 更新时间:2023-11-30 03:30:24 25 4
gpt4 key购买 nike

我正在尝试使用 checkbox 使用 listview 的内置复选框方法 制作一个 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

}
}

最佳答案

将您的onClick 更改为

将下面的作为类变量删除

StringBuilder builder;

然后

public void onClick(View view) {
SparseBooleanArray positions = mListView.getCheckedItemPositions();
builder = new StringBuilder();
for(int index = 0; index <array.length; index++) {
if(positions.get(index)==true)
{
builder.append(array[index]);
builder.append("\n");
}

}
Toast.makeText(getApplicationContext(),builder, Toast.LENGTH_LONG).show();
}

关于android - 在 android 中使用复选框数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17554010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com