【问题标题】:How to send the value of chosen RadioButton and DatePicker to second Activity?如何将所选 RadioButton 和 DatePicker 的值发送到第二个 Activity?
【发布时间】:2021-06-13 08:54:21
【问题描述】:

我将创建一个名为 Student Registration 的应用程序,其中包括全名、学号、课程和部门、年龄、电子邮件、密码、性别和出生日期

我使用 AIDE 应用在我的 Android 上完成了这个编码

*编码需要两个活动及其对应的java和xml(设计接口):

第一个活动应该允许用户输入所有必要的信息,当文本字段完全填写时,会有一个添加信息并将其存储到第二个活动的按钮

另一方面,第二个活动应该显示从第一个活动填写的所有信息*

是什么让我很高兴它运行良好,除了性别和出生日期,因为我发现很难将 RadioButton 和 DatePicker 作为字符串传递给第二个活动

请帮帮我,这是我要提交的项目


代码

1. Main.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"  android:background="@drawable/background_rs"
    android:padding="0dp">

    <EditText
        android:layout_width="300dp"
        android:inputType="textCapCharacters|textCapSentences|textCapWords|textPersonName"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:hint="Full Name"
        android:textStyle="italic"
        android:typeface="serif"
        android:id="@+id/typeName"
        android:layout_marginTop="150dp"/>

    <EditText
        android:layout_width="300dp"
        android:inputType="number"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:hint="Student Number"
        android:textStyle="italic"
        android:typeface="serif"
        android:id="@+id/typeStudent"
        android:layout_marginTop="13dp"/>

    <AutoCompleteTextView
        android:layout_width="300dp"
        android:inputType="textAutoComplete|textCapCharacters|textCapSentences|textCapWords"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:hint="Course and Section"
        android:textStyle="italic"
        android:typeface="serif"
        android:id="@+id/typeLevel"
        android:layout_marginTop="13dp"
        android:completionThreshold="1"
        android:completionHint="Course and Section"/>

    <EditText
        android:layout_width="300dp"
        android:inputType="number"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:hint="Age"
        android:textStyle="italic"
        android:typeface="serif"
        android:id="@+id/typeAge"
        android:layout_marginTop="13dp"/>

    <EditText
        android:layout_width="300dp"
        android:inputType="textEmailAddress"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:hint="Email Address"
        android:textStyle="italic"
        android:typeface="serif"
        android:id="@+id/typeEmail"
        android:layout_marginTop="13dp"/>

    <EditText
        android:layout_width="300dp"
        android:inputType="textWebPassword"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:hint="Password"
        android:textStyle="italic"
        android:typeface="serif"
        android:id="@+id/typePassword"
        android:layout_marginTop="13dp"/>

    <TextView
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:textStyle="normal"
        android:typeface="serif"
        android:id="@+id/typeGender"
        android:layout_marginTop="13dp"
        android:text="Select Gender"
        android:layout_marginLeft="5dp"/>

    <RadioGroup
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/radioGroup">

        <RadioButton
            android:id="@+id/rb_male"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Male"
            android:textSize="20dp"
            android:layout_marginLeft="70dp"
            android:typeface="serif"
            android:onClick="checkButton"
            android:checked="true"/>

        <RadioButton
            android:id="@+id/rb_female"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Female"
            android:textSize="20dp"
            android:layout_marginLeft="70dp"
            android:typeface="serif"
            android:onClick="checkButton"/>

    </RadioGroup>

    <TextView
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:hint="Select Birthday"
        android:textStyle="italic"
        android:typeface="serif"
        style="?android:spinnerStyle"
        android:id="@+id/typeBirthday"
        android:layout_marginTop="13dp"
        android:onClick="openDatePicker"
        android:text="Date of Birth"/>

    <Button
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:text="ADD TO THE LIST"
        android:layout_marginTop="40dp"
        android:background="#FFFFFF"
        android:id="@+id/buttonAdd"/>

</LinearLayout>


2。主Activity.java


import android.app.*;
import android.content.*;
import android.graphics.*;
import android.graphics.drawable.*;
import android.icu.util.*;
import android.os.*;
import android.util.*;
import android.view.*;
import android.widget.*;
import android.widget.RadioGroup.*;

public class MainActivity extends Activity {


    private EditText typeName, typeStudent, typeAge, typeEmail, typePassword;
    private Button buttonAdd;
    private AutoCompleteTextView typeLevel;
    private static final String[] section = new String []{"STEM 12A", "STEM12B", "STEM12C", "STEM12D", "STEM12E"};

    private RadioGroup radioGroup;
    private RadioButton radioButton, rb_male, rb_female;
    
    
    private TextView mtypeBirthday;
    
    private DatePickerDialog.OnDateSetListener mDateSetListener;
    
    public static final String EXTRA_NAME = "com.krapcollaboration.srnewproject.EXTRA_NAME";
    public static final String EXTRA_NUMBER = "com.krapcollaboration.srnewproject.EXTRA_TEXT";
    public static final String EXTRA_LEVEL = "com.krapcollaboration.srnewproject.EXTRA_LEVEL";
    public static final String EXTRA_AGE = "com.krapcollaboration.srnewproject.EXTRA_AGE";
    public static final String EXTRA_EMAIL = "com.krapcollaboration.srnewproject.EXTRA_EMAIL";
    public static final String EXTRA_PASSWORD = "com.krapcollaboration.srnewproject.EXTRA_PASSWORD";
    public static final String EXTRA_DATE = "com.krapcollaboration.srnewproject.EXTRA_DATE";
    public static final String EXTRA_GENDER = "com.krapcollaboration.srnewproject.EXTRA_GENDER";

    
    
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        typeName = findViewById(R.id.typeName);
        typeStudent = findViewById(R.id.typeStudent);
        final AutoCompleteTextView editText = findViewById(R.id.typeLevel);
        typeAge = findViewById(R.id.typeAge);
        typeEmail = findViewById(R.id.typeEmail);
        typePassword = findViewById(R.id.typePassword);
        mtypeBirthday = findViewById(R.id.typeBirthday);
        
        radioGroup = findViewById(R.id.radioGroup);
        
        buttonAdd = findViewById(R.id.buttonAdd);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, section);
        editText.setAdapter(adapter);
        
        RadioButton rb_male =findViewById(R.id.rb_male);
        RadioButton rb_female = findViewById(R.id.rb_female);


        mtypeBirthday .setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view){
                Calendar cal = Calendar.getInstance();
                int year = cal.get(Calendar. YEAR);
                int month = cal.get(Calendar. MONTH);
                int day = cal.get(Calendar. DAY_OF_MONTH);
                
                DatePickerDialog dialog = new DatePickerDialog(
                     MainActivity.this,
                     android.R.style.Theme_Holo_Light_Dialog_MinWidth,
                     mDateSetListener,
                     year, month, day);
                     
                dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
                dialog.show();
            }
        });
        
        
        mDateSetListener = new DatePickerDialog.OnDateSetListener(){
            
            @Override
            public void onDateSet(DatePicker datepicker, int year, int month, int day) {
                
                month = month + 1;
                
                String TAG = null;
                Log.d(TAG, "onDateSet:mm/dd/yyyy: " + month + "/" + day + "/" + year);
                String date = month + "/" + day + "/" + year;
                mtypeBirthday.setText(date);
            }
        };
        
        buttonAdd.setOnClickListener(new View.OnClickListener () {
                @Override
                public void onClick(View v) {
            
                    
    
                    
                    String NameStored = typeName.getText().toString();
                    String NumberStored = typeStudent.getText().toString();
                    String LevelStored = editText.getText().toString();
                    String UsernameStored = typeAge.getText().toString();
                    String EmailStored = typeEmail.getText().toString();
                    String PasswordStored = typePassword.getText().toString();
                    int GenderStored = radioGroup.getCheckedRadioButtonId();
                    radioButton = findViewById(GenderStored);
                    
                    String BirthdayStored = mtypeBirthday.getText().toString();
                    Intent intention = new Intent(MainActivity.  this,Main2Activity.class);

                    intention.putExtra(EXTRA_NAME, NameStored);
                    intention.putExtra(EXTRA_NUMBER, NumberStored);
                    intention.putExtra(EXTRA_LEVEL, LevelStored);
                    intention.putExtra(EXTRA_AGE, UsernameStored);
                    intention.putExtra(EXTRA_EMAIL, EmailStored);
                    intention.putExtra(EXTRA_PASSWORD, PasswordStored);
                    intention.putExtra(EXTRA_DATE, BirthdayStored);
                    intention.putExtra(EXTRA_GENDER, GenderStored);
                    
                

                    startActivity(intention);
                }


            });
            

    }
    
    public void checkButton(View v) {
        int GenderStored = radioGroup.getCheckedRadioButtonId();
        radioButton = findViewById(GenderStored);
        
    } }

3. Main2.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:gravity="center"
    android:background="@drawable/background_rs2"
    android:textAlignment="viewStart">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="FULL NAME:"
        android:typeface="monospace"
        android:textStyle="italic"
        android:textSize="13sp"
        android:textColor="#848484"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:id="@+id/textViewName"
        android:textColor="#C25AF4"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#848484"
        android:text="STUDENT NUMBER:"
        android:typeface="monospace"
        android:layout_marginTop="10dp"
        android:textStyle="italic"
        android:textSize="13sp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:id="@+id/textViewStudent"
        android:textColor="#C25AF4"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#848484"
        android:text="COURSE AND SECTION:"
        android:typeface="monospace"
        android:layout_marginTop="10dp"
        android:textStyle="italic"
        android:textSize="13sp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:id="@+id/textViewLevel"
        android:textColor="#C25AF4"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#848484"
        android:text="AGE:"
        android:typeface="monospace"
        android:layout_marginTop="10dp"
        android:textStyle="italic"
        android:textSize="13sp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:id="@+id/textViewAge"
        android:textColor="#C25AF4"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#848484"
        android:text="EMAIL ADDRESS:"
        android:typeface="monospace"
        android:layout_marginTop="10dp"
        android:textStyle="italic"
        android:textSize="13sp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        `android:textAppearance="?android:attr/textAppearanceMedium`"
        android:id="@+id/textViewEmail"
        android:textColor="#C25AF4"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#848484"
        android:text="PASSWORD:"
        android:typeface="monospace"
        android:layout_marginTop="10dp"
        android:textStyle="italic"
        android:textSize="13sp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:id="@+id/textViewPassword"
        android:textColor="#C25AF4"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#848484"
        android:text="GENDER:"
        android:typeface="monospace"
        android:layout_marginTop="10dp"
        android:textStyle="italic"
        android:textSize="13sp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:id="@+id/textViewGender"
        android:textColor="#C25AF4"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#848484"
        android:text="DATE OF BIRTH:"
        android:typeface="monospace"
        android:layout_marginTop="10dp"
        android:textStyle="italic"
        android:textSize="13sp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:id="@+id/textViewBirthday"
        android:textColor="#C25AF4"/>

    <Button
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:text="CONFIRM INFORMATION"
        android:layout_marginTop="40dp"
        android:id="@+id/buttonConfirm"
        android:textSize="16sp"
        android:background="#FFFFFF"
        android:textColor="#000000"/>

</LinearLayout>

4. Main2Activity.java

import android.app.*;
import android.content.*;
import android.os.*;
import android.view.*;
import android.widget.*;

public class Main2Activity extends Activity

{
    private TextView textViewName, textViewStudent, textViewLevel, textViewAge, textViewEmail, textViewPassword, textViewGender, TextViewBirthday;
    private Button buttonConfirm;
    
    
    @Override
    protected void onCreate(Bundle SavedInstanceState) {
        super.onCreate(SavedInstanceState);
        setContentView(R.layout.main2);
        
        Intent intention = getIntent();
        
        String NameStored = intention.getStringExtra(MainActivity.EXTRA_NAME);
        String NumberStored = intention.getStringExtra(MainActivity.EXTRA_NUMBER);
        String LevelStored = intention.getStringExtra(MainActivity.EXTRA_LEVEL);
        String UsernameStored = intention.getStringExtra(MainActivity.EXTRA_AGE);
        String EmailStored = intention.getStringExtra(MainActivity.EXTRA_EMAIL);
        String PasswordStored = intention.getStringExtra(MainActivity.EXTRA_PASSWORD);
        int BirthdayStored = intention.getIntExtra(MainActivity.EXTRA_DATE, 0);
        int GenderStored = intention.getIntExtra(MainActivity. EXTRA_GENDER, 0);
        
        textViewName = findViewById(R.id.textViewName);
        textViewStudent = findViewById(R.id.textViewStudent);
        textViewLevel = findViewById(R.id.textViewLevel);
        textViewAge = findViewById(R.id.textViewAge);
        textViewEmail = findViewById(R.id.textViewEmail);
        textViewPassword = findViewById(R.id.textViewPassword);
        textViewGender = findViewById(R.id.textViewGender);
        TextViewBirthday = findViewById(R.id.textViewBirthday);
        
        textViewName.setText(NameStored);
        textViewStudent.setText(NumberStored);
        textViewLevel.setText(LevelStored);
        textViewAge.setText(UsernameStored);
        textViewEmail.setText(EmailStored);
        textViewPassword.setText(PasswordStored);
        textViewGender.setText(" " + GenderStored);
        TextViewBirthday.setText(" " + BirthdayStored);
        
        buttonConfirm = findViewById(R.id.buttonConfirm);
        
        buttonConfirm.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view){
                Toast.makeText(getApplicationContext(),"Successfully Registered",Toast.LENGTH_SHORT).show();
                        }
        });
    }}
```![enter image description here](https://i.stack.imgur.com/ejKQC.jpg)![enter image description here](https://i.stack.imgur.com/Q7rfm.jpg)

【问题讨论】:

  • 所有大写字母都在喊。
  • 你为什么要获取 RadioButton 的 id?获取文本是可取且有意义的。

标签: java android datepicker radio-button


【解决方案1】:
On MainActivity
 String GenderStored ="Male";
 if(R.id.rb_female==radioGroup.getCheckedRadioButtonId()){
    GenderStored ="Female";
   }
Use this to get the Gender.

And on Main2Activity, as you are passing Date of Birth and Gender as String
  String BirthdayStored = intention.getStringExtra(MainActivity.EXTRA_DATE);
  String GenderStored = intention.getStringExtra(MainActivity.EXTRA_GENDER);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-27
    • 2019-11-26
    • 2013-04-27
    • 2011-08-09
    • 2011-10-15
    • 1970-01-01
    相关资源
    最近更新 更多