草庐IT

Android listview多选

coder 2023-12-26 原文

如何获取选定的多选 ListView 数据。我有一个有多项选择的 ListView 。我想将 ListView 的选定项目存储在字符串数组中。谁能指导我如何将 ListView 的选定项目存储在字符串数组中。

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

最佳答案

嘿,我已经使用 String 来保存列表中所有选中的项目。请参见下面的代码:

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

关于Android listview多选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5458989/

有关Android listview多选的更多相关文章

  1. ruby-on-rails - 如何使用 grouped_collection_select 显示多选? - 2

    我正在使用以下代码来显示类别的TreeView选择框:grouped_collection_select(:categories,:category_id,Category.top_level,:children,:name,:id,:name,:include_blank=>true)如何更改它以允许多选?此外,是否可以让它显示复选框而不是选择框? 最佳答案 尝试grouped_collection_select(:categories,:category_id,Category.top_level,:children,:name

  2. ruby-on-rails - Ruby on Rails 4 - simple_form 多选输入 - 2

    我有一个看起来像这样的simple_form输入字段:当我关闭multiple:true时,表单会提交为参数:particular_users选择的值,我可以在使用“raiseparams.inspect”进行调试时看到该值。但是,当我将multiple:true选项留在那里时,不会为参数:particular_users传递任何值。我做错了什么?编辑:我无法使用关联输入,因为:particular_users是一个虚拟属性,没有关系。我希望多选框传递其中的任何值,即使它们是任意的。 最佳答案 f.input:days,collec

  3. javascript - 多选复选框下拉 - 2

    我正在使用多选复选框下拉菜单。请看例子jsfiddle$(function(){$('#lstStates').multiselect({});});一旦您选择州,它就会显示TEXT值并用逗号连接,例如:NewJersey,NewYork,Ohio但我想要所选项目的VALUE如:NJ、NY、OH 最佳答案 您可以使用buttonText多选选项。http://jsfiddle.net/ejqngpn5/$('#lstStates').multiselect({buttonText:function(options,select){c

  4. javascript - 在从另一个多选 2 框中删除所选项目时,从多选 2 框中删除所选项目 - 2

    我有两个多选框,Box1选项是动态填充的,当我从这个选择框中选择任何选项时,它应该被添加到新的Box2中。此方案按要求工作。我面临的问题是。当我从Box1中删除任何选定的项目时,我可以将其从Box2中删除。但如果在Box2中选择了该项目,它仍然存在。例如:A、B、C是框1中的选定值,框2填充了A、B、C。如果我在Box2中选择B,c,并且如果我从Box1中删除B。我的Box2项目现在将是AC。但是B,C仍然会在Box2中保持选中状态。谁能帮我解决这个棘手的问题。$("#Box1").on("change",function(){varbox1List=$('#Box1').val();

  5. javascript - 如何知道 JqGrid 多选 'select all' 复选框被选中 - 2

    我正在尝试在JQgrid中显示选定的行。现在,我有这段代码:onSelectRow:function(rowid){varselectedRow=$('#mygrid').jqGrid('getGridParam','selarrrow');$("#totalSelected").val(selectedRow.length);}它工作正常,但是当“全选”复选框被选中时,它没有触发此代码,尽管在可视化中我们可以看到所有行都已被选中。所以我在想,如果我知道“全选”复选框被选中,我可以像这样设置总选择值:if(//selectallcheckboxischecked)$("#totalSe

  6. javascript - 检测下拉列表是否为多选 - 2

    我有一个通用的下拉列表填充脚本,它使用从各种jquery调用返回的选项填充select。它目前用于单一选择。我需要向它添加填充多选的能力,它按原样工作,但我不想包括初始*Pleasechoose*选项。我正在寻找jQuery或纯Javascript解决方案。if(dropdown!=null){varregList=document.getElementById(dropdown);regList.options.length=0;varopt=document.createElement("option");//**ifthedropdownis*not*amultiple="mul

  7. javascript - AngularJS 多选复选框保存在逗号分隔的字符串中 - 2

    我想从angularJS中选定的复选框项目中获取逗号分隔的字符串。同时,当从数据库中检索逗号分隔的字符串时,我希望相应地选中复选框。CarSignalDoor我用Plunker以非常简单的方式解决了这个问题http://plnkr.co/edit/YYd5bN5Chmyjt6gSH1Bw?p=preview$scope.Update=function(Drawings){varstr="";if(Drawings.CarMDrawings){str="Car";}if(Drawings.SignalMDrawings){str=str+",Signal";}if(Drawings.Do

  8. javascript - 如何像 Atlassian Jira 一样制作多选、自动完成的组合框 - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我喜欢AtlassianJira的GUI和控件。特别是他们有很酷的多选组合控件。我需要在我的网站上实现类似的控制。我正在使用jquery-ui。他们使用什么库?什么执照?我能在某个地方找到它作为JScript吗?有没有类似的免费或者商业

  9. javascript - jQuery 多选下拉菜单,带有所选项目的关闭按钮 - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭2年前。Improvethisquestion基本上我想要这样的东西。我有哪些现成的选择?这种小部件有适当的简称吗?

  10. javascript - 如何使用 PATRICK SPRINGSTUBBE jQuery 多选插件进行单选 - 2

    我正在使用PatrickSpringstubbe多选插件,它工作正常。但现在我想用它来进行单选。我知道我需要将选择设置为多个才能使插件工作。但是有没有办法将选项的数量限制为1。我试过了$("#ProductCategory").change(function(){$(".ms-options").css("visibility","hidden");}当您选择一个选项时,这会产生预期的效果,但您可以重新打开列表。我尝试在$("#ProductCategory").click上使用函数,但这没有用。 最佳答案 正如Kavindra所建

随机推荐