簡體   English   中英

Android Studio:如何從活動獲取用戶輸入(從微調器和編輯文本)到另一個活動?

[英]Android Studio: How do I get user input (From Spinner and Edit Text) from activity to another activity?

我正在嘗試將用戶輸入(來自編輯文本和微調器)從 RegisterActivity.Java 獲取到 ListActivity.Java。 下面的代碼來自 RegisterActivity.Java。 我只知道如何將按鈕啟動到一個新的活動,但我不知道正確的方法沒有錯誤地將用戶數據輸入從一個活動到另一個活動。

---Java注冊活動.Java

    package com.example.fitnessassessmentcell;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    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.Spinner;
    
    public class RegisterActivity extends AppCompatActivity {
        public Button button;
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_register);
    
            /*
    -------------------------------------"VERIFY" BUTTON------------------------------------------
             */
            button = (Button) findViewById(R.id.verify);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent d = new Intent(RegisterActivity.this, ListsActivity.class);
                    startActivity(d);
                    }
            });
            /*
    -------------------------------------DROP DOWN MENU FOR GENDER------------------------------------------
             */
    
            /*
            Define spinner object, look up same id declared in activity_register.xml
             */
            Spinner spinnergender=findViewById(R.id.spinner_gender);
              /*
            Create arrayadapter because it rendering every item in the languages string array to the screen
            when Java dropdown menu
             */
            ArrayAdapter<CharSequence>adapter=ArrayAdapter.createFromResource(this, R.array.gender, android.R.layout.simple_spinner_item);
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
            spinnergender.setAdapter(adapter);
    
            /*
    -------------------------------------DROP DOWN MENU FOR AGE------------------------------------------
             */
            Spinner spinnerage=findViewById(R.id.spinner_age);
    
            ArrayAdapter<CharSequence>adapter4=ArrayAdapter.createFromResource(this, R.array.age, android.R.layout.simple_spinner_item);
            adapter4.setDropDownViewResource(android.R.layout.simple_spinner_item);
            spinnerage.setAdapter(adapter4);
    
            /*
    -------------------------------------DROP DOWN MENU FOR  STRENGTH------------------------------------------
             */
    
            Spinner spinnerstrength=findViewById(R.id.spinner_strength);
    
            ArrayAdapter<CharSequence>adapter1=ArrayAdapter.createFromResource(this, R.array.strength, android.R.layout.simple_spinner_item);
            adapter1.setDropDownViewResource(android.R.layout.simple_spinner_item);
            spinnerstrength.setAdapter(adapter1);
    
            /*
    -------------------------------------DROP DOWN MENU FOR  ENDURANCE------------------------------------------
             */
    
            Spinner spinnerendurance=findViewById(R.id.spinner_endurance);
    
            ArrayAdapter<CharSequence>adapter2=ArrayAdapter.createFromResource(this, R.array.endurance, android.R.layout.simple_spinner_item);
            adapter2.setDropDownViewResource(android.R.layout.simple_spinner_item);
            spinnerendurance.setAdapter(adapter2);
    
            /*
    -------------------------------------DROP DOWN MENU FOR  CARDIO------------------------------------------
             */
    
            Spinner spinnercardio=findViewById(R.id.spinner_cardio);
    
            ArrayAdapter<CharSequence>adapter3=ArrayAdapter.createFromResource(this, R.array.cardio, android.R.layout.simple_spinner_item);
            adapter3.setDropDownViewResource(android.R.layout.simple_spinner_item);
            spinnercardio.setAdapter((adapter3));
    
        }
    
    }

--- XML 活動注冊.xml

<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".RegisterActivity">

    <!-- Text View to display our basic heading of "Registration" -->

    <TextView
        android:id="@+id/Registertitle"
        android:layout_width="194dp"
        android:layout_height="43dp"
        android:layout_marginStart="114dp"
        android:layout_marginTop="40dp"
        android:layout_marginEnd="103dp"
        android:layout_marginBottom="502dp"
        android:scrollbarSize="30dp"
        android:text=" Registration "
        android:textSize="30dp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.0" />

    <!--Edit Text for Jersey Number-->

    <EditText
        android:id="@+id/EditTextJerseyNumber"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginTop="172dp"
        android:hint="Jersey Number"
        android:inputType="number"
        app:layout_constraintEnd_toEndOf="@+id/EditTextHeightNumber"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Registertitle" />

    <!--Edit Text for Weight Number-->

    <EditText
        android:id="@+id/EditTextWeightNumber"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginTop="100dp"
        android:hint="Enter Weight"
        android:inputType="numberDecimal"
        app:layout_constraintEnd_toEndOf="@+id/EditTextHeightNumber"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Registertitle" />

    <!--Edit Text for Height Number-->

    <EditText
        android:id="@+id/EditTextHeightNumber"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginTop="32dp"
        android:layout_marginEnd="32dp"
        android:hint="Enter Height"
        android:inputType="numberDecimal"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Registertitle" />

    <!--Spinner is a drop down menu. This spinner is age selection -->

    <Spinner
        android:id="@+id/spinner_age"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginTop="248dp"
        android:spinnerMode="dropdown"
        app:layout_constraintEnd_toEndOf="@+id/EditTextJerseyNumber"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Registertitle" />

    <!--Spinner is a drop down menu. This spinner is for gender selection-->


    <Spinner
        android:id="@+id/spinner_gender"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginTop="304dp"
        android:spinnerMode="dropdown"
        app:layout_constraintEnd_toEndOf="@+id/spinner_age"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Registertitle" />

    <!--Spinner is a drop down menu. This spinner is strength -->

    <Spinner
        android:id="@+id/spinner_strength"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginTop="360dp"
        android:spinnerMode="dropdown"
        app:layout_constraintEnd_toEndOf="@+id/spinner_gender"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Registertitle" />

    <!--Spinner is a drop down menu. This spinner is endurance -->

    <Spinner
        android:id="@+id/spinner_endurance"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginTop="424dp"
        android:spinnerMode="dropdown"
        app:layout_constraintEnd_toEndOf="@+id/spinner_strength"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Registertitle" />

    <!--Spinner is a drop down menu. This spinner is cardio -->

    <Spinner
        android:id="@+id/spinner_cardio"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginTop="488dp"
        android:spinnerMode="dropdown"
        app:layout_constraintEnd_toEndOf="@+id/spinner_endurance"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Registertitle" />

    <!--Button for verify to move to List Activity-->

    <Button
        android:id="@+id/verify"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginTop="552dp"
        android:onClick="LaunchRtoL"
        android:text="Verify"
        app:layout_constraintEnd_toEndOf="@+id/spinner_cardio"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Registertitle" />


</androidx.constraintlayout.widget.ConstraintLayout>

---Java ListsActivity.Java

package com.example.fitnessassessmentcell;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import android.os.Bundle;


public class ListsActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_lists);

    }
}

據我了解,您正在嘗試從微調器中獲取選定的數據並將其發送到另一個活動。

您必須為所有微調器添加 setOnItemSelectedListener 並將所選值存儲在一個變量中,然后您可以通過傳遞這些值來將這些值發送到另一個活動。 但是您必須在將這些值發送到另一個活動之前驗證這些值。

讓我知道你還有什么困惑...

首先檢索您的輸入(即)年齡、身高、體重等,並將它們存儲在每個輸入的字符串中。

然后使用putExtra()方法在意圖中傳遞它們。

RegisterActivity.java

Intent d = new Intent(RegisterActivity.this, ListsActivity.class);
d.putExtra("AGE", age);
d.putExtra("WEIGHT", weight);
d.putExtra("HEIGHT", height);
.
.
.
startActivity(d);

現在您可以在onCreate方法中的ListActivity.java中獲取這些值

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_lists);

        String age = getIntent().getStringExtra("AGE");
        String weight = getIntent().getStringExtra("WEIGHT");
        String height = getIntent().getStringExtra("HEIGHT");
        .
        .
        .

    }

希望這可以幫助!!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM