首页 > 解决方案 > 来自动态创建的编辑文本的所有值的总和

问题描述

参考图像

我需要添加 editexts 值,例如在计费应用程序中,并将此数据存储在共享首选项中。

如图所示,我需要添加所有编辑文本(空)值,然后在结果字段中显示总和。就像其他人一样,Ety 笼子,负载,Ld 笼子..

请有人帮助我..

createTextview.setOnClickListener(new View.OnClickListener() {

        @SuppressLint({"SetTextI18n",})
        public void onClick(View v) {
            LinearLayout ll = new LinearLayout(getApplicationContext());
            ll.setOrientation(LinearLayout.HORIZONTAL);
            ll.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 100));
            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
            params.weight = 3.0f;
            params.setMargins(10,0,10,0);
           // ll.setPadding(5, 1, 10, 0);
            final TextView txt = new TextView(getApplicationContext());
            final EditText txtLoad = new EditText(getApplicationContext());
            final EditText txtLoad1 = new EditText(getApplicationContext());
            final EditText txtLoad2 = new EditText(getApplicationContext());
            final EditText txtLoad3 = new EditText(getApplicationContext());


            txt.setText( ""+(j + 1));
            txt.setPadding(5, 0, 5, 0);
            txt.setTextColor(Color.BLACK);
            txt.setTextSize(20);

            txtLoad.setHintTextColor(Color.GRAY);
            txtLoad.setHint("Empty");
            txtLoad.setPadding(5, 0, 1, 0);
            int txtloadid = j+10;
            txtLoad.setLayoutParams(params);
            txtLoad.setId(txtloadid);

            txtLoad1.setHint("Ety Cage");
            int txtload1id = j+50;
            txtLoad1.setId(txtload1id);

            txtLoad2.setHint("Load");
            int txtload2id = j+100;
            txtLoad2.setId(txtload2id);

            txtLoad3.setHint("Ld Cage");
            int txtload3id = j+150;
            txtLoad3.setTextSize(18);
            txtLoad3.setId(txtload3id);

            ll.addView(txt);
            ll.addView(txtLoad);
            ll.addView(txtLoad1);
            ll.addView(txtLoad2);
            ll.addView(txtLoad3);

            //Add fields to LinearLayout defined in XML
            mainLinear.addView(ll);
            count++;
            j=count;
        }


    });

标签: android

解决方案


每当您创建要为其引用值的新编辑文本时,您都可以为其设置标签。

还要维护一个标签列表。这样你以后就可以用来迭代了。

  1. 使用 view.setTag() 在视图上设置标签,并在列表中记录标签。
  2. 迭代标签列表并使用 findViewWithTag() 引用您的视图
  3. 迭代时,您可以访问编辑文本中的值

推荐阅读