如何解决将多个editText字段数据传递给另一个活动
我想如果用户在任何一个字段中输入数据,那么它的值将传递给其他活动,而其他edittext字段则不传递其值。但是,当我可以添加所有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);
}
}
});
我想如果用户要在某些字段中添加数据,然后单击按钮,则数据可以传递到其他应用程序
解决方法
通过调用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
是否为空,并在该文本将要添加的位置添加一个空格,否则将添加视图中的文本。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。