Android的列表视图选择题选择题、视图、列表、Android

2023-09-04 08:12:10 作者:一身姨妈味

如何获得所选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);
            }
        });
    }
}
 

Android开发学习 列表视图 ListView

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);
            }
        });
    }
}