B
Benedd
Neues Mitglied
- 0
Hallo zusammen, hab da ein kleines Spinner Problem.
Aufbau:
in meinem Beispiel holt sich der Spinner01 die Daten aus der array.xml und zeigt diese an. Ich möchte aber das nur die Beschreibung im Spinner01 sichtbar ist und nicht der Wert. Jedoch bei der Auswahl soll er jeweils in der TextView01 (Beschreibung) und TextView02 (Wert) die entsprechenden Daten ausgeben.
Entweder muss in der array,xml oder in der ActivityA etwas anders definiert werden, weiß aber nicht wie.
Code siehe unten, ein Lösungsvorschlag wäre super.
Gruß Benedd
main.xml:
array.xml
strings.xml
ActivityA:
Aufbau:
- main.xml
- array.xml
- strings.xml
- ActivityA
in meinem Beispiel holt sich der Spinner01 die Daten aus der array.xml und zeigt diese an. Ich möchte aber das nur die Beschreibung im Spinner01 sichtbar ist und nicht der Wert. Jedoch bei der Auswahl soll er jeweils in der TextView01 (Beschreibung) und TextView02 (Wert) die entsprechenden Daten ausgeben.
Entweder muss in der array,xml oder in der ActivityA etwas anders definiert werden, weiß aber nicht wie.
Code siehe unten, ein Lösungsvorschlag wäre super.
Gruß Benedd
main.xml:
array.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="auswahl">
<item>Beschreibung 1 <value>10</value> </item>
<item>Beschreibung 2 <value>20</value> </item>
<item>Beschreibung 3 <value>30</value> </item>
</string-array>
</resources>
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, ActivityA!</string>
<string name="auswahl">.:: Auswahl ::.</string>
</resources>
Code:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.AdapterView.OnItemSelectedListener;
public class ActivityA extends Activity {
//-----------------------------------------------------------------------
// Deklaration TextView
private TextView beschreibung, value_wert;
//-----------------------------------------------------------------------
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//-----------------------------------------------------------------------
// Definition TextView
beschreibung =(TextView)findViewById(R.id.TextView01);
value_wert =(TextView)findViewById(R.id.TextView02);
//-----------------------------------------------------------------------
// Spinner + Funktion(Auswahl aus Resource values/array.xml)
Spinner s1 = (Spinner) findViewById(R.id.Spinner01);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.auswahl, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s1.setAdapter(adapter);
s1.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// TextView Ausgabe (Beschreibung)
beschreibung.setText((CharSequence) parent.getItemAtPosition(position));
// TextView Ausgabe (value/wert)
value_wert.setText((CharSequence) parent.getItemAtPosition(position));
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
// Auszuführender Befehl Nichts tun
}
});
//-----------------------------------------------------------------------
}
}