>Java >java지도 시간 >Android Spinner에서 선택한 항목을 프로그래밍 방식으로 값별로 설정하는 방법은 무엇입니까?

Android Spinner에서 선택한 항목을 프로그래밍 방식으로 값별로 설정하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-31 17:30:02894검색

How to Programmatically Set the Selected Item in an Android Spinner by Value?

Spinner의 선택한 항목을 값으로 설정

뷰를 업데이트할 때 데이터베이스에 저장된 값을 미리 선택해야 할 수도 있습니다. 스피너. 처음에는 다음과 같은 해결 방법을 시도할 수 있습니다.

void setSpinner(String value)
{
    int pos = getSpinnerField().getAdapter().indexOf(value);
    getSpinnerField().setSelection(pos);
}

그러나 이 접근 방식은 Adapter 인터페이스가 indexOf 메서드를 제공하지 않기 때문에 장애물에 직면합니다.

해결 방법

Spinner 내에서 특정 값의 위치를 ​​찾아 비교하려면 다음 단계를 따르세요.

  1. 비교 값을 정의합니다. 예: String CompareValue = "some value".
  2. 필요한 리소스를 사용하여 ArrayAdapter를 만듭니다.

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);
  3. ArrayAdapter를 Spinner의 어댑터로 설정합니다.

    mSpinner.setAdapter(adapter);
  4. getPosition 메소드를 사용하여 ArrayAdapter 내에서 비교 값의 위치를 ​​결정합니다.

    if (compareValue != null) {
     int spinnerPosition = adapter.getPosition(compareValue);
     mSpinner.setSelection(spinnerPosition);
    }

    이 단계를 수행하면 값을 기준으로 Spinner에서 값을 효과적으로 미리 선택할 수 있습니다. 목록에서의 위치보다

위 내용은 Android Spinner에서 선택한 항목을 프로그래밍 방식으로 값별로 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.