2016-04-06 6 views
-1
final Spinner s1= (Spinner) findViewById(R.id.Spinner1); 
    final Spinner s2= (Spinner) findViewById(R.id.Spinner2); 
    final ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.Manu_array, R.layout.textview); 

    s1.setAdapter(adapter); 
    s1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
      int arrayId = 0; 
      switch (position) {//get array id according to selected position 
       case 0: 
        arrayId = R.array.Manu_1xsd_array; 
        break; 
       case 1: 
        arrayId = R.array.Manu_2xrsd; 
        break; 
       case 2: 
        arrayId = R.array.Manu_3x4rsd.array; 
        break; 
      } 
      ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, arrayId, R.layout.textview); 
      s2.setAdapter(adapter); 
     } 

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

     } 
    }); 
    s2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
      String msg = s1.getSelectedItem().toString() + s2.getAdapter().getItem(position).toString(); 
      Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show(); 
     } 

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

     } 
    }); 

My Button-Code basiert wie folgt zu ändern:Möchten Sie eine Schaltfläche hinzufügen, die Absicht auf der ersten Spinner Auswahl

Button save_control_button = (Button) findViewById(R.id.save_control_button); 
    save_control_button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

//some code 

      Intent passIntent = new Intent(getApplicationContext(),Manu_1xsd.class); 
      startActivity(passIntent); 

     } 
    }); 

// Wollen Sie die Absicht mit dem Spinner 1 Auswahl ändern, so, wenn ich drücke die Taste, um es alles und Lasten bis mit leicht unterschiedlichem pararmeters nimmt, die in der jeweiligen Klasse sind, einfach nicht herausfinden, wie die Absicht auf der Spinner Auswahl und kippen Flossen ein Beispiel basiert zu ändern, kann mich jemand i die richtige Richtung?

+0

Ist es, dass Sie programmatisch die Absicht Filter ändern? Wenn ja, können Sie das nicht tun. –

Antwort

0

Was Sie tun können, um den Wert des Spinners gelesen wird, und verwenden Sie es die richtige Absicht zu starten.

button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Intent intent; 
      switch (spinner.getSelectedItem()) { 
       case "Manu1": 
        intent = new Intent(getApplicationContext(), Manu_1xsd.class); 
        break; 
       case "Manu2": 
       default: 
        intent = new Intent(getApplicationContext(), Manu_2xsd.class); 
        break; 
      } 

      startActivity(intent); 
     } 
    }); 

Wenn Sie eine ältere Version von Java verwenden, wo man nicht eine switch-Anweisung für Strings verwenden können, können Sie AdapterView.getSelectedItemId() stattdessen verwenden.

Hinweis - ich habe lief nicht wirklich diesen Code, sondern schrieb es einfach auf.

+0

Danke, hi sieht aus wie ich es zwicken muss, da ich es nicht zur Arbeit habe Fall "Manu1" Konstanter Ausdruck erforderlich. – MadWayne

+0

Da Sie direkt aus einem Array in Ihrer Codebasis auffüllen, sollten Sie alle Zeichenfolgenwerte zum Zeitpunkt der Kompilierung haben. "Manu1" war nur ein Beispiel. Sie müssen das durch Ihre Zeichenfolgen ersetzen. – vanguard

+0

hmmm immer noch das selbe problem wie vorher, ich werde spielen und eine leserunde haben und zurückkommen, ich vermisse offensichtlich etwas. – MadWayne