我有一个复选框的列表视图,由休假创建。
public void addCard(final String cardId){
ListView listView1;
Lists movielist = new Lists();
List<String> movies = new ArrayList<String>();
movies = movielist.movieList();
listView1 = (ListView)findViewById(R.id.listView1);
listView1.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, movies));
listView1.setItemsCanFocus(false);
listView1.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
listView1.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
CheckedTextView ctv = (CheckedTextView)arg1;
Toast.makeText(getApplicationContext(),ctv.getText().toString(), Toast.LENGTH_SHORT).show();
//do your stuff in here!
}
});
Button submit = (Button)findViewById(R.id.button1);
submit.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"", Toast.LENGTH_SHORT).show();
}
});
}
现在当检查一个框时,我可以向与复选框关联的文本烘烤。我希望能够做的是与点击提交时检查的所有框相关联的文本。
理想情况下,我想要一个List,每个值都是与复选框关联的文本块之一。
干杯!
答案 0 :(得分:1)
在SparseBooleanArray中返回已检查的视图,因此您可以使用下面的代码来获取键或值。下面的示例只是在一个String中显示所选的名称。
@Override
public void onItemClick(AdapterView<?> adapter, View arg1, int arg2, long arg3)
{
SparseBooleanArray sp=getListView().getCheckedItemPositions();
String str="";
for(int i=0;i<sp.size();i++)
{
str+=movies.get(sp.keyAt(i))+",";
}
Toast.makeText(this, ""+str, Toast.LENGTH_SHORT).show();
}
我认为这就是你想要的。