Mam 5 Spinnerów. Aby to podsumować.
To jest Spinner w xml
<Spinner
android:id="@+id/text_interested"
android:layout_span="2"
android:layout_width="wrap_content"
android:layout_height="60px"
android:entries="@array/interestedarrays"
android:prompt="@string/interestedprompt" />
To jest Spinner w Javie
submitbtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
interested.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(
AdapterView<?> adapterView, View view,
int i, long l) {
interesting = interested.getItemAtPosition(i).toString();
}
public void onNothingSelected(
AdapterView<?> adapterView) {
}
});
}
});
Wyjaśnienie tutaj:
Strona ma przycisk. Po naciśnięciu ten przycisk odczyta dane z pokrętła. Sprawdziłem wyjście tym
System.out.println(interested.getItemAtPosition(i).toString());
Nic mi to nie dało, nawet zerowe.
Jak pobrać wartość i ją napisać?
android
android-spinner
Alan Lai
źródło
źródło
Odpowiedzi:
Spróbuj tego:
String text = mySpinner.getSelectedItem().toString();
W ten sposób możesz uzyskać wartość dla różnych Spinnerów.
źródło
String Text = mySpinner.getSelectedItem().toString();
LUB
mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { Object item = parent.getItemAtPosition(position); } public void onNothingSelected(AdapterView<?> parent) { } });
źródło
Możesz zdobyć wybrany przedmiot z Spinner za pomocą,
interested.getSelectedItem().toString();
źródło
Jeśli Twój Spinner został wypełniony kursorem SQLite, rozwiązanie jest następujące:
Spinner mySpin = (Spinner) findViewById(R.id.myspin); mySpin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { SQLiteCursor item = (SQLiteCursor) parent.getItemAtPosition(position); String value = String.valueOf(item.getString(0)); Toast.makeText(getApplicationContext(), "The option is:" + value , Toast.LENGTH_SHORT).show(); }
PS: In
item.getString(0)
-> 0 to indeks kolumny kursora, którą chcesz uzyskać.źródło
Spróbuj tego
final Spinner cardStatusSpinner1 = (Spinner) findViewById(R.id.text_interested); String cardStatusString; cardStatusSpinner1.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { cardStatusString = parent.getItemAtPosition(pos).toString(); } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }); final Button saveBtn = (Button) findViewById(R.id.save_button); saveBtn .setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub System.out.println("Selected cardStatusString : " + cardStatusString ); //this will print the result } });
źródło
Kup wybrany przedmiot z Kotlin:
spinner.selectedItem.toString()
źródło
Oprócz sugerowanych,
String Text = mySpinner.getSelectedItem().toString();
Możesz to zrobić,
String Text = String.valueOf(mySpinner.getSelectedItem());
źródło
Gdy wybierzesz dowolną wartość z przędzarki, otrzymasz wybraną wartość,
interested.getSelectedItem().toString();
źródło
Myślę, że chcesz wybrać wybrany element przędzarki po kliknięciu przycisku.
Spróbuj getSelectedItem () :
spinner.getSelectedItem()
źródło
Najlepszym sposobem na to jest: -
String selectedItem = spinner.getSelectedItem().toString();
możesz skierować dokumenty tutaj: Spinners
źródło
Spróbuj tego
sp1 = String.valueOf(spinner.getSelectedItem());
źródło
Ponieważ najnowszym językiem dla Android Development jest Kotlin. Oto jak to robimy w Kotlinie przy użyciu obiektu Anonymous.
spinnerName?.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{ override fun onNothingSelected(parent: AdapterView<*>?) { println("Nothing Selected") } override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { val selectedString = yourList[position] } }
źródło
Poprzez implementację SpinnerAdapter dla używanego przeze mnie obiektu adaptera
interested.getItem(i).toString()
źródło
spinnerType = (AppCompatSpinner) findViewById(R.id.account_type); spinnerType.setPrompt("Select Type"); spinnerType.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { TypeItem clickedItem = (TypeItem) parent.getItemAtPosition(position); String TypeName = clickedItem.getTypeName(); Toast.makeText(AddAccount.this, TypeName + " selected", Toast.LENGTH_SHORT).show(); } @Override public void onNothingSelected(AdapterView<?> parent) { } });
źródło