2016-12-27 4 views
0

Ich möchte, dass der Benutzer dies tun: wenn sie ein Element aus dem ersten Spinner und das Element auf dem anderen Spinner auswählen und auf die Schaltfläche klicken, erhalten sie das Ergebnis in TextView. Wie kann ich das machen?Verknüpfen Sie zwei Spinner mit einer Schaltfläche

Ich habe bereits zwei Spinner, TextView und eine Taste erstellt. Beispiel: Wenn der Benutzer aus dem ersten Drehfeld seinen Namen und das zweite Drehfeld seine ID auswählt, zeigt die Textansicht beim Klicken auf die Schaltfläche ihre Telefonnummer an.

UPDATE:

Hier ist der Code für die MainActivity

package second.program.p1; 

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


public class MainActivity extends AppCompatActivity { 

Spinner v1; 
Spinner v2; 
ArrayAdapter<CharSequence> adapter; 
TextView T1; 
Button b; 



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

    v1 = (Spinner) findViewById(R.id.v1); 
    adapter = ArrayAdapter.createFromResource(this,R.array.city_names,android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    v1.setAdapter(adapter); 
    v1.getSelectedItemPosition(); 



    v2 = (Spinner) findViewById(R.id.v2); 
    adapter = ArrayAdapter.createFromResource(this,R.array.city_names,android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    v2.setAdapter(adapter); 



    T1 = (TextView) findViewById((R.id.T1)); 

    b = (Button) findViewById(R.id.b); 





} 
    }; 

strings.xml

<resources> 
<string name="app_name">P1</string> 
<string-array name="city_names"> 
    <item>" "</item> 
    <item>"Med"</item> 
    <item>"Ryu"</item> 
    <item>"Jedd"</item> 
    <item>"Hai"</item> 
</string-array> 
</resources> 

Also, ich will, nachdem der Benutzer "Med" von der ersten Spinner wählen (v1) und "Hai" vom zweiten Spinner (v2) er drückt den Button, danach wird in der TextView die km (der Abstand zwischen den beiden Cites, aber ich füge es noch nicht hinzu)

Ich habe die zwei Spinner, jetzt was ich mit der TextView und der Button tun soll?

+0

Diese Frage von Android zu sein scheint, warum Sie diese beiden Spinnern müssen verlinken? Sie können Einzelpersonen von diesen zwei Spinnern erhalten und auf Knopfdruck können Sie Ihre db oder welches Repository Sie zum Speichern von Daten abfragen, um die Anzahl der Personen mit ausgewählten Namen und ID –

+0

Ich möchte das Ergebnis als die Benutzerauswahl, becuse davon werde ich zwei Spinner hinzufügen.so kann der Benutzer einen von jedem Spinner wählen und das Ergebnis von Button – Ahmed

+0

bekommen Ja, ich verstand Ihr Problem, teilweise, wenn nicht vollständig, können Sie die Auswahl aus Spinner/s und dann für die Kundennummer Abfrage, gibt es keine Notwendigkeit für diese Spinner um verlinkt zu werden, ist es einfach, wie Sie auf jeder Fußballseite sehen, dass Sie Liga und Datum wählen, dann klicken Sie, gehen es zeigt alle Spiele der Teams an diesem Datum, es nimmt die Eingabe dieser beiden Spinner und Abfrage db für die Ausgabe. Ich hoffe, es ist dir jetzt klar, wenn du fragst, wie du anfangen sollst, dann gibt es eine Menge Tutorials da draußen –

Antwort

0

Wie Sie die Frage aktualisiert haben, so kann ich es jetzt richtig beantworten,

Es gibt zwei Methoden, die von Android zur Verfügung gestellt werden, die wir außer Kraft setzen müssen, um die Elemente Auswahl von Spinnern zu handhaben.

@Override 
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
    // On selecting a spinner item 
    String cityName = parent.getItemAtPosition(position).toString(); 

    // Showing selected spinner item 
    Toast.makeText(MainActivity, "Selected city: " + cityName, Toast.LENGTH_LONG).show(); 

} 

public void onNothingSelected(AdapterView<?> view) { 
    // This method helps when we have to handle when user hasn't selected anything 
     from spinner on which further events are dependent. 

} 

tun Jetzt Taste auf Ihrem Knopf b wie dies in Ihrem onCreate:

b.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View view){ 

     String firstCityName = v1.getSelectedItem().toString(); 
     String secondCityName = v2.getSelectedItem().toString(); 

     //now you have both items/cities you selected from spinners 
     // so its time to do some checks and show user the distance 

     if(firstCityName.equals("Meh") && secondCityName.equals("Med"){ 
      T1.setText("the value which you have stored somewhere"); 

     } else if(firstCityName.equals("Med") && secondCityName.equals("Ryu"){ 
       T1.setText("30KM/hardcode it or get the value you stored somewhere"); 
     } //.... if-else-if for remaining cases 
    } 

} 

einige Räte:

1- Bitte korrekte Namenskonventionen verwenden.

Spinner spinnerStartingCity = new ..... 
Button btnSubmit = new .... 

2- Themen wie diese sind nicht so schwer, über das Internet zu finden, richtig erste Suche, weil das, was fast alle Kodierer tun ?? GOOGLE -> Kopieren/Einfügen !! : D

3- Vor googeln, wenn Sie einen Entwickler nicht nur Coder sein wollen, zuerst durch die richtig Tutorials gehen, android dev Website und Online-Tutorials für gründliches Verständnis, weil das Lernen als Einfügen Kopie länger dauert :)

glückliche Entwicklung

+0

Vielen Dank !! jetzt ist es klar, ich bin ein Anfänger, vielleicht ist dies zu einfach :) Ich werde Ihren Rat nehmen, aber glauben Sie mir, ich habe googeln für eine Antwort googeln, bevor ich hier schreibe. wünsche dir alles gute du sparst mich! – Ahmed

+0

froh, zu helfen :) Sie können Antwort annehmen :) viel Glück zu Ihnen auch :) kein Problem, Sie sind Anfänger, deshalb schrieb ich Rat/s: D –

Verwandte Themen