首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android列表存储索引错误的元素

Android列表存储索引错误的元素
EN

Stack Overflow用户
提问于 2015-09-15 17:02:07
回答 1查看 29关注 0票数 0

我将微调控制项的选定项存储在一个数组"selectedPayment[]“中,该数组也存储许多null值,因此我将该数组转换为一个列表"payMode”。问题是当我存储元素时,列表将元素存储在错误的索引中。当我将数组转换为List时会出现问题,因为数组在正确的索引处存储项目。

例如:我得到现金,贝宝,礼品卡,优惠券在一个列表中,这是不正确的,因为我需要在贝宝,优惠券,现金,礼品卡顺序存储元素。

请告诉我哪里出了错。

代码:

代码语言:javascript
运行
复制
public void onItemSelected(AdapterView<?> parent, View v, int position,
        long arg3) {


    if (parent == spinner_paymentOption) {
        selectedPayment[position] = paymentOptionList.get(position);
        System.out.println("=====selll "+selectedPayment[position]);
        payMode = new ArrayList<String>(Arrays.asList(selectedPayment));
        payMode.remove(0);
        payMode.removeAll(Collections.singleton(null));

        System.out.println("====paymode==="+payMode);

        if (!(spinner_paymentOption.getSelectedItemPosition() == 0)) {
            isTrue = true;
            if (items.contains(position)) {
                Toast.makeText(
                        mActivity,
                        "You have already selected "
                                + selectedPayment[position],
                        Toast.LENGTH_LONG).show();
            } else {
                counter++;
                createDynamicPaymentLayout(position);
            }

        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2015-09-15 17:11:04

在监听程序外部创建payMode数组列表,如下所示:

代码语言:javascript
运行
复制
payMode = new ArrayList<String>();

并将所选项目添加为:

(您可以将下面的几行放在后面

代码语言:javascript
运行
复制
selectedPayment[position] = paymentOptionList.get(position); )
payMode.add(paymentOptionList.get(position));  

然后去掉这个:

代码语言:javascript
运行
复制
payMode = new ArrayList<String>(Arrays.asList(selectedPayment));
payMode.remove(0);
payMode.removeAll(Collections.singleton(null));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32581912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档