programing

스피너의 가치를 얻는 방법은?

yellowcard 2023. 8. 18. 22:28
반응형

스피너의 가치를 얻는 방법은?

Android에서는 청취자와 함께 선택한 Spinner 값을 얻으려고 합니다.

스피너의 가치를 얻는 가장 좋은 방법은 무엇입니까?

Spinner mySpinner = (Spinner) findViewById(R.id.your_spinner);
String text = mySpinner.getSelectedItem().toString();

스피너는 무언가가 선택되면 "OnItemSelected" 이벤트를 실행해야 합니다.

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
        Object item = parent.getItemAtPosition(pos);
    }
    public void onNothingSelected(AdapterView<?> parent) {
    }
});

이것이 스피너 항목(예: 제목)과 값을 가진 xml이라고 가정합니다.

<resources>
    <string-array name="size_entries">
        <item>Small</item>
        <item>Medium</item>
        <item>Large</item>
    </string-array>

    <string-array name="size_values">
        <item>12</item>
        <item>16</item>
        <item>20</item>
    </string-array>
</resources>

그리고 이게 당신의 스피너입니다.

<Spinner
    android:id="@+id/size_spinner"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:entries="@array/size_entries" />

그런 다음 코드에서 항목을 가져옵니다.

Spinner spinner = (Spinner) findViewById(R.id.size_spinner);
String size = spinner.getSelectedItem().toString(); // Small, Medium, Large

값을 가져옵니다.

int spinner_pos = spinner.getSelectedItemPosition();
String[] size_values = getResources().getStringArray(R.array.size_values);
int size = Integer.valueOf(size_values[spinner_pos]); // 12, 16, 20

예, 다음을 통해 수신기를 등록할 수 있습니다.setOnItemSelectedListener()여기서 설명한 바와 같이

View view =(View) getActivity().findViewById(controlId);
Spinner spinner = (Spinner)view.findViewById(R.id.spinner1);
String valToSet = spinner.getSelectedItem().toString();

항목이 이미 다음과 같은 것을 알고 있는 경우String선호하는 항목:

String itemText = (String) mySpinner.getSelectedItem();

부르기toString()에.Object당신이 알고 있는 것은String그냥 캐스팅하는 것보다 더 우회적인 경로처럼 보입니다.Object로.String.

스피너 참조에 setOnItemSelectedListener를 추가하고 그런 데이터를 가져옵니다.'

 mSizeSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
            selectedSize=adapterView.getItemAtPosition(position).toString();

언급URL : https://stackoverflow.com/questions/1947933/how-to-get-spinner-value

반응형