0

私はリスト ビューを持っています。そのリスト ビューには、手動で値を入力する編集テキストを含む 30 のアイテムがあり、その後、30 アイテムの編集テキストに設定された値の合計を計算します。しかし、問題は、ほぼ 10 である表示可能なリスト項目のみの合計を計算することであり、編集テキストの 30 個すべての値が必要です。10 個の項目ビューが null になった後です。この問題を解決する方法。

totalpoints.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            /*for (int i = 0; i < summaryList.size(); i++) 
            {
                summaryList.get();

            }*/

            for (int i = 0; i < listView_subCategory.getCount(); i++) {
                view = listView_subCategory.getChildAt(i);
                if (view == null) {


                } else {
                    try {
                        EditText text = (EditText) view
                                .findViewById(R.id.et_date);
                        TextView tv_productname=(TextView) view.findViewById(R.id.textView_userName);

                        String points = text.getText().toString().trim();
                        String productname=tv_productname.getText().toString().trim();
                        int point = Integer.valueOf(points);
                        count_summary = count_summary + point;
                        String truetotal = Integer.toString(count_summary);
                        et_total.setText(truetotal);

                    } catch (Exception e) {
                        Toast toast1 = Toast.makeText(getActivity(),
                                "Fill Value First", Toast.LENGTH_SHORT);
                        toast1.setGravity(Gravity.CENTER, 0, 0);
                        toast1.show();
                    }

                }
            }
            count = 0;
        }

    });
4

1 に答える 1

0

すべての値を収集するためにEditTexts を反復するよりも、より良いアプローチを考えるべきだと思います。getChildAt()私は、ユーザーが EditTexts の値を変更できると考えています。Arrayサイズ 30 の値を持つことができ、ユーザーが値を入力/変更するたびに、に応じた値を変更しますArrayこのように配列の値を変更するリスナーを使用します。

于 2013-07-09T13:50:19.547 に答える