Android 在SharedReference中保存我的Listview中的所有值时遇到困难

Android 在SharedReference中保存我的Listview中的所有值时遇到困难,android,listview,android-listview,Android,Listview,Android Listview,在SharedReference中保存自定义ListView中的所有值时遇到问题 实际上,我的布局包含一个复选框TextView Custom Listview和一个以上的复选框Select_all,用于选择自定义Listview中的所有数据。 单击“全选”复选框时,自定义列表视图中的所有值都被选中,但只有前13个值存储在我的SharedReference中。 这是我的程序片段 selectAll.setOnClickListener(new OnClickListener()

在SharedReference中保存自定义ListView中的所有值时遇到问题

实际上,我的布局包含一个复选框TextView Custom Listview和一个以上的复选框Select_all,用于选择自定义Listview中的所有数据。 单击“全选”复选框时,自定义列表视图中的所有值都被选中,但只有前13个值存储在我的SharedReference中。 这是我的程序片段

        selectAll.setOnClickListener(new OnClickListener() {


        @Override
        public void onClick(View v) {

            boolean isChecked = selectAll.isChecked();

            if (isChecked) {


                for (int i = 0; i < exportItems.getChildCount(); i++) {

                    listViewLayout = (LinearLayout) exportItems
                            .getChildAt(i);
                    cb = (CheckBox) listViewLayout
                            .findViewById(R.id.export_chk);

                    if (strTypes.equals("Orders/Invoices")) {
                        cb.setChecked(true);
                        ordRefNo = ordersList.get(i)
                                .getHhTran_referenceNumber();
                        supporter.saveOrderInPreference(ordRefNo, 1);

                    } else if (strTypes.equals("Credit Note")) {
                        cb.setChecked(true);
                        cnRefNo = creditNoteList.get(i)
                                .getHhTran_referenceNumber();
                        supporter.saveCreditNoteInPreference(cnRefNo, 1);
                    } else {
                        cb.setChecked(true);
                        docNo = receiptList.get(i).getHhReceipt_docnumber();
                        supporter.saveReceiptInPreference(docNo, 1);
                    }

                }

                orderAdapter.notifyDataSetChanged();
                creditNoteAdapter.notifyDataSetChanged();
                receiptAdapter.notifyDataSetChanged();
            } else {

                unCheckAll();
            }
        }
    });
那么,有谁能帮助我将列表中的所有值存储到 共享参考。
任何帮助都将不胜感激。

ListView不适合接收用户的输入。因为您必须使用输入保存所有视图。如果不执行此操作,滚动后所有内容都将清除。我认为ScrollView更适合这种情况

无论如何,如果要使用ListView,就不能信任视图。因此,在每次操作之后,您必须使用fromListView填充数据,并调用notifyDataSetChanged以刷新ListView本身

PS 1:您应该认为ListView只显示我的视图,它不能操纵它们。这是重点

PS 2:使用listener和TextWatcher捕获输入并保存数据


PS 3:我将Listview与EditText一起使用,我警告您,这很麻烦:

最好使用name和id将所有值保存在SQLite中。处理起来非常简单和快速。尽管我会尝试将其保存在SQLite中,但值不会出现…正如我所说的,由于我使用的是exportItems.getChildCount,所以我的ListViewall Checked@MDshare您的Listview适配器代码,所以只有前13个值出现在我的Listview中,因此我可以更好地帮助您。