Ich habe 2 Dropdown-Spinner, die ich gerne farbcodiert werden würde. Ich möchte, dass 1 immer als Apple und die andere als Banana bezeichnet wird. Ich verwende das Dropdown-Menü, um die Hintergrundfarbe des Spinner zu ändern. Wie lege ich fest, dass der Text immer als "Apple" und "Banana" angezeigt wird, aber nur die Hintergrundfarbe des Spinner basierend auf der ausgewählten Farbe geändert wird? Wenn ich das Dropdown-Menü zur Auswahl einer Farbe verwende, ändert es den Text in die ausgewählte Farbe. Ich fühle mich wie ich irgendwo eine setText Funktion benötigen würde ...Android Java - Dropdown-Spinner setzt den gleichen Text immer, nur um die Hintergrundfarbe zu ändern
Hier ist mein Code so weit:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dropdown1 = (Spinner)findViewById(R.id.spinner1);
dropdown2 = (Spinner)findViewById(R.id.spinner2);
String[] colors = new String []{"red", "blue", "green"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, colors);
dropdown1.setAdapter(adapter);
dropdown2.setAdapter(adapter);
dropdown1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
text1 = dropdown1.getSelectedItem().toString();
if (text1.equals("red")) {
dropdown1.setBackgroundColor(Color.parseColor("#ff0000"));
} else if (text1.equals("green")) {
dropdown1.setBackgroundColor(Color.parseColor("#00ff00"));
} else if (text1.equals("blue")) {
dropdown1.setBackgroundColor(Color.parseColor("#0000ff"));
}
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {
}
});
ändern sollten Was Sie jetzt zu bekommen? –
"Wie lege ich fest, dass der Text immer als" Apple "und" Banana "angezeigt wird, aber nur die Hintergrundfarbe des Drehfelds geändert wird, je nachdem, was ausgewählt ist?" Welcher Text? –