package com.example.clinicapp;
import android.app.DatePickerDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import java.util.Calendar;
public class MainActivity extends AppCompatActivity {
private EditText etName;
private EditText etDate;
private RadioGroup rgGender;
private Spinner spDoctor;
private Button btnBook;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
// Initialize UI components
etName = findViewById(R.id.etname);
etDate = findViewById(R.id.etDate);
rgGender = findViewById(R.id.radioGroupGender);
spDoctor = findViewById(R.id.spDoctor);
btnBook = findViewById(R.id.btnBook);
// Populate Spinner with doctor names
String[] doctors = {"Dr. John Smith", "Dr. Sarah Johnson", "Dr. Michael Brown", "Dr. Emily Davis"};
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, doctors);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spDoctor.setAdapter(adapter);
// Date Picker setup
etDate.setOnClickListener(v -> showDatePickerDialog());
btnBook.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
bookClinic();
}
});
}
private void showDatePickerDialog() {
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = new DatePickerDialog(this,
(view, year1, monthOfYear, dayOfMonth) -> {
String selectedDate = dayOfMonth + "/" + (monthOfYear + 1) + "/" + year1;
etDate.setText(selectedDate);
}, year, month, day);
datePickerDialog.show();
}
private void bookClinic() {
String name = etName.getText().toString().trim();
String date = etDate.getText().toString().trim();
int selectedGenderId = rgGender.getCheckedRadioButtonId();
if (name.isEmpty()) {
Toast.makeText(this, "Please enter your name", Toast.LENGTH_SHORT).show();
return;
}
if (selectedGenderId == -1) {
Toast.makeText(this, "Please select a gender", Toast.LENGTH_SHORT).show();
return;
}
if (date.isEmpty()) {
Toast.makeText(this, "Please select a date", Toast.LENGTH_SHORT).show();
return;
}
RadioButton rbSelectedGender = findViewById(selectedGenderId);
String gender = rbSelectedGender.getText().toString();
String doctor = spDoctor.getSelectedItem().toString();
String confirmationMessage = "Booking confirmed for " + name + " (" + gender + ")\n" +
"Doctor: " + doctor + "\n" +
"Date: " + date;
Toast.makeText(this, confirmationMessage, Toast.LENGTH_LONG).show();
// Intent to navigate to SecondActivity and pass data
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("NAME", name);
intent.putExtra("GENDER", gender);
intent.putExtra("DOCTOR", doctor);
intent.putExtra("DATE", date);
startActivity(intent);
}
}
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ImageView
android:id="@+id/ivLogo"
android:layout_width="136dp"
android:layout_height="210dp"
android:layout_marginTop="24dp"
android:src="@drawable/clinic"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tvTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center"
android:text="Clinic Booking"
android:textSize="30sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ivLogo" />
<EditText
android:id="@+id/etname"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="32dp"
android:hint="Enter name"
android:inputType="textPersonName"
android:minHeight="48dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvTitle"
tools:ignore="Autofill" />
<RadioGroup
android:id="@+id/radioGroupGender"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/etname">
<RadioButton
android:id="@+id/rbMale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Male" />
<RadioButton
android:id="@+id/rbFemale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:text="Female" />
</RadioGroup>
<Spinner
android:id="@+id/spDoctor"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="32dp"
android:minHeight="48dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/radioGroupGender" />
<EditText
android:id="@+id/etDate"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="32dp"
android:clickable="true"
android:focusable="false"
android:hint="Select Date"
android:inputType="none"
android:minHeight="48dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/spDoctor"
tools:ignore="Autofill" />
<Button
android:id="@+id/btnBook"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="32dp"
android:text="Book Now"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/etDate" />
</androidx.constraintlayout.widget.ConstraintLayout>