java - 将多个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);
}
}
});
我想如果用户想在某些字段中添加数据然后单击按钮,数据可以传递给其他应用程序
解决方案
解析所有的 EditText 并通过调用yourEditTextView.getText()
.
我假设您首先绑定您的视图:
EditText mathSix = findViewById(R.id.math_six_sub_editText);
String mathSixSub = mathSix.getText();
此方法返回 EditText 的字符串,或者null
如果 EditText 为空。然后将其添加到您相应创建的意图中,或者如果您想将数据发送到应用程序中的活动,请使用简单的意图:
Intent intent = new Intent(yourCurrentActivity.this, theActivityThatReceivesTheData.class);
intent.putExtra(KEY, "Math Six: " + mathSixSub);
startActivity(intent);
如果你想。添加一个值为空的空格,您可以添加以下空值检查:
String mathSixSub = mathSix.getText() == null ? " " : mathSix.getText();
此运算符检查是否EditText
为 null 并在文本所在的位置添加一个空格,否则它会添加视图中的文本。
推荐阅读
- css - css - wordpress网站中带有内部按钮的输入字段
- twig - 在 Facebook Open Graph Object Debugger 中设置 og:image fetching from db
- ruby-on-rails - 在验证中访问模型变量,格式
- python - 创建列表的随机列表,第一个元素子列表重复 n 次
- java - Java/Kotlin AES-128-CBC 加密产生与 OpenSSL 不同的结果
- ffmpeg - FFmpeg | 未找到选项循环
- ios - 以编程方式添加 UILabel 不可见
- sql-server - 多个表的 SQL 查询,包括 2 个“多对多”表
- python - Google API:刷新令牌时出现 ConnectionResetError
- javascript - javascript nodejs中回调函数的参数如何工作