투케이2K

670. (Android/Java) ArrayAdapter.createFromResource 사용해 스피너 메뉴 목록에 xml resource string array 지정 본문

Android

670. (Android/Java) ArrayAdapter.createFromResource 사용해 스피너 메뉴 목록에 xml resource string array 지정

투케이2K 2023. 10. 18. 20:50

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[소스 코드]

 

// --------------------------------------------------------------------------------

// [xml 파일 : 레이아웃]

        <Spinner
            android:id="@+id/card_Spinner"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:gravity="center"
            android:spinnerMode="dropdown"
            android:textStyle="bold"
            android:textSize="15dp"
            android:textColor="#000"/>

// --------------------------------------------------------------------------------

// [xml 파일 : resource]

    <string-array name="card_type">
        <item>1 카드</item>
        <item>2 카드</item>
    </string-array>

// --------------------------------------------------------------------------------

// [java 소스 코드] 

                final Spinner card_Spinner = (Spinner) dialogView.findViewById(R.id.card_Spinner);

                final ArrayAdapter card_Adapter = ArrayAdapter.createFromResource(mContext, R.array.card_type, R.layout.text_spinner_dropdown_item_nano);
                card_Spinner.setAdapter(card_Adapter);


                card_Spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                    @Override
                    public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
                        try {
                            //TODO 하위 버전 텍스트 색상 지원하기 위해 선언
                            ((TextView) adapterView.getChildAt(0)).setTextColor(Color.BLACK);
                            ((TextView) adapterView.getChildAt(0)).setTextSize(15);
                        }
                        catch (Exception e){}

                        S_Log._W_("card_Spinner :: 메뉴 목록 선택 확인", new String[]{"Position :: " + String.valueOf(i)});
                    }
                    @Override
                    public void onNothingSelected(AdapterView<?> adapterView) {
                    }
                });

// --------------------------------------------------------------------------------

반응형
Comments