自定义适配器,CheckBox上的总和值

时间:2015-10-14 17:05:56

标签: android custom-adapter

我在使用CheckBox的自定义适配器时遇到了一些问题。点击后,我创建了一个包含一些数据的数组,这很有效,但在我的持有人中还有一个包含数字的“字段”,我想要把这个数字放在最后的选择中,如果用户检查的话列表视图的更多行。 'holder.durata'包含我想要使用的那个号码。有人可以帮我做吗? 这是我的适配器

$(".sidebar-list-parent li a, .sidebar-list-child li a").click(function(){

var soundid = $(this).attr("soundid");
var soundidparent = $(this).attr("class");
var filters = $(".search-filters form");

$.ajax ({
type: 'GET',
data: {filters.serialize(), soundid:soundid, soundidparent:soundidparent, }
url: "audio-module.php",
 success: function(data) { 
$('.audio-modules-container').html(data);
}
});

1 个答案:

答案 0 :(得分:0)

<强>解决

我不知道它是否正确,但它运作正常,我希望帮助有同样问题的人。使用我的CustomAdapter,每次用户选择Checkbox时,我都有一个存储数据的数组。在我的活动中,我已经转换为'Int value',唯一的关键'Durata_m',我已经使用一个循环添加它。如果有人能做得更好,那就更难了。这就是代码。

            Button bSend = (Button) findViewById(R.id.btnSend);
        bSend.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                ArrayList<HashMap<String,String>> list_selected = adapter.getSelectedItems();
                int HourVal = 0;

                for (HashMap<String, String> map : list_selected)
                    for (Map.Entry<String, String> mapEntry : map.entrySet())
                    {

                        switch (mapEntry.getKey()){
                            case("Durata_m"):
                                HourVal = HourVal + Integer.parseInt(mapEntry.getValue().toString());

                        }
                        System.out.println("TOTAL MINUTES: " + HourVal);
                    }