【问题标题】:Passing multiple editText field data to another activity将多个editText字段数据传递给另一个活动
【发布时间】:2020-09-11 06:34:18
【问题描述】:

如果用户在任何一个字段中输入数据,我希望它的值传递给其他活动,而其他编辑文本字段不传递它们的值。但是当我可以添加所有 editText 字符串值 l 时,intent 会发送所有值。我只希望那些具有数据的值和其他值不会被发送。我可以用Intent.createchooser传递数据

Xml:

<ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">

            <EditText
                android:id="@+id/student_name_sixClass_editText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:backgroundTint="@android:color/white"
                android:hint="Student name"
                android:paddingLeft="10dp"
                android:textSize="20sp" />


            <EditText
                android:id="@+id/english_six_sub_editText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:backgroundTint="@android:color/white"
                android:drawableRight="@drawable/ic_arrow_down"
                android:hint="English"
                android:paddingLeft="10dp"
                android:textSize="20sp" />


            <EditText
                android:id="@+id/math_six_sub_editText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:backgroundTint="@android:color/white"
                android:drawableRight="@drawable/ic_arrow_down"
                android:hint="Math"
                android:paddingLeft="10dp"
                android:textSize="20sp" />


            <EditText
                android:id="@+id/sciece_six_sub_editText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:backgroundTint="@android:color/white"
                android:drawableRight="@drawable/ic_arrow_down"
                android:hint="Science"
                android:paddingLeft="10dp"
                android:textSize="20sp" />

            <EditText
                android:id="@+id/urdu_six_sub_editText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:backgroundTint="@android:color/white"
                android:drawableRight="@drawable/ic_arrow_down"
                android:hint="Urdu"
                android:paddingLeft="10dp"
                android:textSize="20sp" />

            <EditText
                android:id="@+id/islamiyat_six_sub_editText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:backgroundTint="@android:color/white"
                android:drawableRight="@drawable/ic_arrow_down"
                android:hint="Islamiyat"
                android:paddingLeft="10dp"
                android:textSize="20sp" />

            <EditText
                android:id="@+id/ps_six_sub_editText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:backgroundTint="@android:color/white"
                android:drawableRight="@drawable/ic_arrow_down"
                android:hint="P.S"
                android:paddingLeft="10dp"
                android:textSize="20sp" />

            <EditText
                android:id="@+id/history_six_sub_editText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:backgroundTint="@android:color/white"
                android:drawableRight="@drawable/ic_arrow_down"
                android:hint="History"
                android:paddingLeft="10dp"
                android:textSize="20sp" />

            <EditText
                android:id="@+id/computer_six_sub_editText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:backgroundTint="@android:color/white"
                android:drawableRight="@drawable/ic_arrow_down"
                android:hint="Computer"
                android:paddingLeft="10dp"
                android:textSize="20sp" />

            <EditText
                android:id="@+id/geography_six_sub_editText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:backgroundTint="@android:color/white"
                android:drawableRight="@drawable/ic_arrow_down"
                android:hint="Geography"
                android:paddingStart="10dp"
                android:textSize="20sp" />

            <RadioGroup
                android:id="@+id/sixClass_radio_group"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <RadioButton
                    android:id="@+id/monthly_test_report_radioBtn_sixClass"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:layout_marginTop="10dp"
                    android:layout_marginBottom="10dp"
                    android:text="Monthly Test Report"
                    android:textSize="20sp" />

                <RadioButton
                    android:id="@+id/weekly_test_report_radioBtn_sixClass"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:layout_marginTop="10dp"
                    android:layout_marginBottom="10dp"
                    android:text="Weekly Test Report"
                    android:textSize="20sp" />

            </RadioGroup>

            <Button
                android:id="@+id/sendBtn_six"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="30dp"
                android:layout_marginTop="10dp"
                android:layout_marginRight="30dp"
                android:layout_marginBottom="10dp"
                android:background="@color/btn_color"
                android:text="Send"
                android:textColor="@android:color/white"
                android:textSize="20sp" />


        </LinearLayout>
    </ScrollView>

Java 代码:

 sendBtn_six.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (isValid()){
            

       Intent sharingIntent = new Intent();
                sharingIntent.setAction(Intent.ACTION_SEND);
                sharingIntent.putExtra(Intent.EXTRA_TEXT, "ANMOL ACEDMY OF SCIENCE\n" + "Asslam_O_Alaikum!" + "\n" + "Repert: " + slct_monthly_reprottext + "\n" + "Field: " + slct_biology_field_nineScience + "\n" + "On Dated: " + current_date+"\n" + "Student Name: " + student_name_nineScience
                        + "\n" + "English: " + engilish_nine_science_sub + "\n" + "Math: " + math_nine_science_sub + "\n" + "Urdu: " + urdu_nine_science_sub
                        + "\n" + "Islamiyat: " + islamiyat_nine_science_sub + "\n" + "P.S: " + ps_nine_science_sub + "\n" + "Chemistry: " + chemistry_nine_science_sub
                        + "\n" + "computer: " + computer_nine_science_sub + "\n" + "Physics: " + physics_nine_science_sub
                        + "\n" + "Regards: Anmol Acedmy of Science");
//
                sharingIntent.setType("text/plain");
                Intent sendData = Intent.createChooser(sharingIntent, null);
                startActivity(sendData);
                }
            }
        });

如果用户想在某些字段中添加数据然后点击按钮,数据可以传递给其他应用程序

【问题讨论】:

    标签: java android validation android-edittext


    【解决方案1】:

    通过调用 yourEditTextView.getText() 解析所有 EditText 并获取它们的值。

    我假设你先绑定你的视图:

    EditText mathSix = findViewById(R.id.math_six_sub_editText);
    
    String mathSixSub = mathSix.getText();
    

    此方法返回 EditText 的字符串,如果 EditText 为空,则返回 null。然后将其添加到您相应创建的意图中,或者如果您想将数据发送到应用内的活动,请使用简单的意图:

    Intent intent = new Intent(yourCurrentActivity.this, theActivityThatReceivesTheData.class);
    intent.putExtra(KEY, "Math Six: " + mathSixSub);
    startActivity(intent);
    

    如果你愿意。在值为空的地方添加一个空格,您可以添加以下空值检查:

    String mathSixSub = mathSix.getText() == null ? " " : mathSix.getText();
    

    此运算符检查EditText 是否为空,并在文本所在的位置添加一个空格,否则它会添加视图中的文本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-09
      相关资源
      最近更新 更多