【发布时间】: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();
}
});
}}
```
【问题讨论】:
-
所有大写字母都在喊。
-
你为什么要获取 RadioButton 的 id?获取文本是可取且有意义的。
标签: java android datepicker radio-button