2016-06-11 4 views
0

Ich versuche, meine erste interaktive App zu erstellen und das erste Mal mit einem Spinner für ein Dropdown-Menü. Ich möchte, dass der Benutzer ein Element aus dem Dropdown-Menü auswählt und dafür in einer Variablen gespeichert wird, so dass beim Klicken auf die Schaltfläche auf die richtige Seite umgeleitet wird, die ich in der Hauptdatei habe.Wie kann ich einen Spinner mit einer Schaltfläche verwenden, um die App zu anderen Aktivitäten umleiten

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.Button; 
import android.widget.Spinner; 
import android.widget.Toast; 

public class LoginActivity extends AppCompatActivity { 



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

    final Spinner s = (Spinner) findViewById(R.id.positonSpinner); 
    s.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
      //Toast.makeText(LoginActivity.this,parent.getSelectedItem().toString(),Toast.LENGTH_SHORT).show(); 

      String Text = s.getSelectedItem().toString(); 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parent) { 

     } 
    }); 
} 

public void goOnClick (View v) 
{ 
    Button go = (Button)v; 
    if (Text == "Student") 
    { 
     startActivity(new Intent(LoginActivity.this,StudentUser.class)); 
    } 
    else 
    { 
     startActivity(new Intent(LoginActivity.this,AdminUser.class)); 
    } 

} 
} 
+0

Ihre Aktivität ist unvollständig, aber es ist nichts falsch daran. Was funktioniert nicht genau? –

+0

Ihre Frage zeigt an, dass Sie wissen, was zu tun ist, aber nicht versucht haben, es tatsächlich zu tun. Solche Fragen tendieren dazu, auf Stackoverflow downvoted und gelöscht zu werden, weil die Leute denken, dass Sie faul sind. Bitte sag den Leuten, was genau du beim nächsten Mal nicht gemacht hast. "in einer Varible gespeichert" ist eine ziemlich einfache Sache zu tun. Check out [Wie stelle ich eine gute Frage?] (Http://stackoverflow.com/help/how-to-ask). –

Antwort

0

Ihre Frage enthält Ihre Antwort. Speichern Sie den Wert aus dem Drehfeld in einer Instanzvariablen und wählen Sie entsprechend Ihre "richtige Seite". "Umgeleitet auf die richtige Seite" bedeutet wahrscheinlich, dass Sie eine andere Activity als LoginActivity erstellen und ihre Klasse an die Intent übergeben müssen.

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.Button; 
import android.widget.Spinner; 
import android.widget.Toast; 

public class LoginActivity extends AppCompatActivity { 

String spinnerValue; 

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

    final Spinner s = (Spinner) findViewById(R.id.positonSpinner); 
    s.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
      spinnerValue = s.getSelectedItem().toString(); 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parent) { 

     } 
    }); 

    final Button button = (Button) findViewById(R.id.THE_BUTTON_YOU_HAVE); 
    button.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      if (null == spinnerValue) { 
       // Tell the user to choose something 
       return; 
      } 
      startActivity(new Intent(
       v.getContext(), 
       spinnerValue == "Student" ? StudentActivity.class : AdminActivity.class 
      ));  
     } 
    }); 
} 
}