Frage

Ich bin ein absoluter Neuling in der Java- und Android-Entwicklung und versuche, ein kleines „Quiz“ zu erstellen RadioButton Auswahlmöglichkeiten in jeder Ansicht sowie eine Weiter- und Zurück-Schaltfläche.Ich bekomme die Schaltflächen „Weiter“ und „Zurück“ zum Laufen, aber das scheint mir eine sehr umständliche Vorgehensweise zu sein.Gibt es eine Möglichkeit, eine Funktion einmal zu definieren und sie in diesem Layout zum Laufen zu bringen, ohne sie jedes Mal neu definieren zu müssen, wenn ich die Zurück-Schaltfläche verwende?D.h.Ich habe nexButtonGPAbuttonClick() definiert in der onCreate aber wenn ich dazu komme activity_main_2_.xml und stellen Sie die Zurück-Taste auf setContentView(activty_main.xml), das muss ich neu definieren nextButtonGPAbuttonClick(); noch einmal darin setContentView(R.layout.activity_main).Hier ist meine .java-Datei.Jede Anleitung wäre äußerst hilfreich.

package com.example.studentadvisorapp;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;


public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
        nextButtonGPAbuttonClick(); 
    }

    private void nextButtonGPAbuttonClick() {
        //Get reference to button
        Button nextButtonGPA = (Button) findViewById(R.id.next_button_gpa);

        //set click listener
        nextButtonGPA.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            setContentView(R.layout.activity_main_2);
            prevButtonHoursEnrolledbuttonClick();
            nextButtonHoursEnrolledbuttonClick();
        }

        private void prevButtonHoursEnrolledbuttonClick() {
            //Get reference to button
            Button prevButtonHoursEnrolled = (Button) findViewById(R.id.prev_button_hours_enrolled);

               //set click listener
           prevButtonHoursEnrolled.setOnClickListener(new View.OnClickListener() {
               @Override
              public void onClick(View v) {
                      setContentView(R.layout.activity_main);
                    nextButtonGPAbuttonClick();
              }
              });
           }

           private void nextButtonHoursEnrolledbuttonClick() {
             //Get reference to button
                Button nextButtonHoursEnrolled = (Button) findViewById(R.id.next_button_hours_enrolled);

             //set click listener
             nextButtonHoursEnrolled.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                setContentView(R.layout.activity_main_3);
                    nextButtonHoursWorkingbuttonClick();
                prevButtonHoursWorkingbuttonClick();
                 }

                 private void nextButtonHoursWorkingbuttonClick() {
                    //Get reference to button
                Button nextButtonHoursWorking = (Button) findViewById(R.id.next_button_hours_working);

                //set click listener
                nextButtonHoursWorking.setOnClickListener(new View.OnClickListener() {
                    @Override
                public void onClick(View v) {                setContentView(R.layout.activity_main_4);      
                }
            });
        }

        private void prevButtonHoursWorkingbuttonClick() {
            //Get reference to button
            Button nextButtonHoursWorking = (Button) findViewById(R.id.prev_button_hours_working);
            //set click listener
            nextButtonHoursWorking.setOnClickListener(new View.OnClickListener() {
                @Override
            public void onClick(View v) {                                setContentView(R.layout.activity_main_2);                                     prevButtonHoursEnrolledbuttonClick();                            nextButtonHoursEnrolledbuttonClick();

            }
        });
    }                               
});
}
});
}




    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}
War es hilfreich?

Lösung

Starten Sie eine neue Aktivität, anstatt setContentView aufzurufen.Auf diese Weise führt die Zurück-Schaltfläche den Benutzer automatisch zum vorherigen Bildschirm zurück.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top