如何获得所选multichoice列表视图中的数据。我有多个选择列表视图。我要存储在字符串数组列表视图中选择的项目。任何人都可以指导我如何存储在字符串数组列表视图中选择的项目。
SparseBooleanArray selectedItems = lv.getCheckedItemPositions();
INT ID1 = lv.getCheckedItemPosition();
Toast.makeText(getApplicationContext(),+ ID1,Toast.LENGTH_SHORT).show();
的for(int i = 0; I< lv_arr.length;我++){
如果(selectedItems.get(i))的{
的String []的GetString =(字符串)lv.getAdapter()的getItem(
selectedItems.keyAt(ⅰ));
的System.out.println(+的GetString));
}
}
解决方案
嘿,我已经使用的字符串保存所有的检查项目从list..See的code如下:
进口android.app.Activity;
进口android.os.Bundle;
进口android.util.Log;
进口android.util.SparseBooleanArray;
进口android.view.View;
进口android.widget.AdapterView;
进口android.widget.AdapterView.OnItemClickListener;
进口android.widget.ArrayAdapter;
进口android.widget.ListView;
公共类ViewsActivity扩展活动
{
私人的ListView LVIEW;
私人字符串lv_items [] = {机器人,iPhone,黑莓,
AndroidPeople,J2ME,列表视图,ArrayAdapter,列表项,
我们,英国,印度};
私人字符串my_sel_items;
@覆盖
公共无效的onCreate(包冰柱){
super.onCreate(冰柱);
的setContentView(R.layout.main);
my_sel_items =新的String();
LVIEW =(ListView控件)findViewById(R.id.ListView01);
lView.setAdapter(新ArrayAdapter<字符串>(这一点,
android.R.layout.simple_list_item_multiple_choice,lv_items));
lView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
lView.setOnItemClickListener(新OnItemClickListener(){
公共无效onItemClick(适配器视图为arg0,查看ARG1,INT ARG2,长ARG3)
{
//名单列表=新的ArrayList();
my_sel_items =新的String(选定项目);
SparseBooleanArray一个= lView.getCheckedItemPositions();
的for(int i = 0; I< lv_items.length;我++)
{
如果(a.valueAt(i))的
{
/ *
长VAL = lView.getAdapter()getItemId(a.keyAt(ⅰ))。;
Log.v(迈德特,指数=+ val.toString()
+项的值=+ lView.getAdapter()的getItem(I))。
list.add(lView.getAdapter()getItemId((a.keyAt(ⅰ))));
* /
my_sel_items = my_sel_items +,
+(字符串)lView.getAdapter()的getItem(i)中。;
}
}
Log.v(价值观,my_sel_items);
}
});
}
}
How to get selected multichoice list view data. i have a listview with multiple choice. and i want to store selected item of listview in string array. can anyone guide me how to store selected item of listview in string array.
SparseBooleanArray selectedItems = lv.getCheckedItemPositions();
int id1 = lv.getCheckedItemPosition();
Toast.makeText(getApplicationContext(), "" + id1, Toast.LENGTH_SHORT).show();
for (int i = 0; i < lv_arr.length; i++) {
if (selectedItems.get(i)) {
String[] getstring = (String) lv.getAdapter().getItem(
selectedItems.keyAt(i));
System.out.println(""+getstring));
}
}
解决方案
Hey I have used String for saving all checked items from the list..See the code below:
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.util.SparseBooleanArray;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class ViewsActivity extends Activity
{
private ListView lView;
private String lv_items[] = { "Android", "iPhone", "BlackBerry",
"AndroidPeople", "J2ME", "Listview", "ArrayAdapter", "ListItem",
"Us", "UK", "India" };
private String my_sel_items;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
my_sel_items=new String();
lView = (ListView) findViewById(R.id.ListView01);
lView.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_multiple_choice, lv_items));
lView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
lView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView arg0, View arg1, int arg2,long arg3)
{
//List list = new ArrayList();
my_sel_items=new String("Selected Items");
SparseBooleanArray a = lView.getCheckedItemPositions();
for(int i = 0; i < lv_items.length ; i++)
{
if (a.valueAt(i))
{
/*
Long val = lView.getAdapter().getItemId(a.keyAt(i));
Log.v("MyData", "index=" + val.toString()
+ "item value="+lView.getAdapter().getItem(i));
list.add(lView.getAdapter().getItemId((a.keyAt(i))));
*/
my_sel_items = my_sel_items + ","
+ (String) lView.getAdapter().getItem(i);
}
}
Log.v("values",my_sel_items);
}
});
}
}