안드로이드:배열에서 프로그래밍 방식으로 스피너 생성
저는 안드로이드를 처음 접했고 스피너를 프로그램적으로 만들고 배열된 데이터로 공급하려고 하지만 이클립스는 제가 감당할 수 없는 경고를 줍니다.
내가 얻은 것은 이렇습니다.
이 ArrayList는 스피너에 있어야 할 요소를 보유하고 있습니다(나중에 파일에서 채워짐).
ArrayList<String> spinnerArray = new ArrayList<String>();
스피너를 만들어야 하는 사이트에서 찾은 코드입니다.
Spinner spinner = new Spinner(this);
ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(this,
android.R.layout.simple_spinner_dropdown_item,
spinnerArray);
spinner.setAdapter(spinnerArrayAdapter);
두 번째 줄(Array Adapter...)은 이클립스에서 경고를 줍니다."ArrayAdapter is a raw type... References to generic type ArrayAdapter<T> should be parameterized"
, 나는 이것을 어떻게 고쳐야 할지 모르겠습니다(또는 그것이 애초에 무엇을 의미하는지 :).
경고일 뿐이고 앱은 정상적으로 실행되는 것처럼 보이지만 그래도 무엇이 잘못되었는지 이해하고 수정하고 싶습니다.어떤 힌트라도 감사히 받겠습니다.
인사말, 선택0r
ArrayAdapter<String>
효과가 있을 겁니다
즉:
Spinner spinner = new Spinner(this);
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>
(this, android.R.layout.simple_spinner_item,
spinnerArray); //selected item will look like a spinner set from XML
spinnerArrayAdapter.setDropDownViewResource(android.R.layout
.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerArrayAdapter);
배열과 동일한 방식으로
// Array of choices
String colors[] = {"Red","Blue","White","Yellow","Black", "Green","Purple","Orange","Grey"};
// Selection of the spinner
Spinner spinner = (Spinner) findViewById(R.id.myspinner);
// Application of the Array to the Spinner
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, colors);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // The drop down view
spinner.setAdapter(spinnerArrayAdapter);
다음 세 줄의 코드가 문자열 배열로 작동했습니다.shoes
프로젝트 리소스에서 로드됨:
Spinner spinnerCountShoes = (Spinner)findViewById(R.id.spinner_countshoes);
ArrayAdapter<String> spinnerCountShoesArrayAdapter = new ArrayAdapter<String>(
this,
android.R.layout.simple_spinner_dropdown_item,
getResources().getStringArray(R.array.shoes));
spinnerCountShoes.setAdapter(spinnerCountShoesArrayAdapter);
리소스 파일입니다(res/values/arrays.xml
문자열 배열 이름을 지정합니다.shoes
:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="shoes">
<item>0</item>
<item>5</item>
<item>10</item>
<item>100</item>
<item>1000</item>
<item>10000</item>
</string-array>
</resources>
이 방법을 사용하면 필요한 경우 다국어로 만드는 것이 매우 쉽습니다.
이게 저한테 효과가 있었어요.
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item, spinnerArray);
spinnerArrayAdapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
Spinner spinner = (Spinner) findViewById( R.id.spinner );
spinner.setAdapter(spinnerArrayAdapter);
나를 위한 이 일 :-
String[] array = {"A", "B", "C"};
String abc = "";
Spinner spinner = new Spinner(getContext());
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_spinner_item, array); //selected item will look like a spinner set from XML
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerArrayAdapter);
프래그먼트를 사용하고 있습니다.
코틀린 언어에서는 다음과 같은 방법으로 수행할 수 있습니다.
val values = arrayOf(
"cat",
"dog",
"chicken"
)
ArrayAdapter(
this,
android.R.layout.simple_spinner_item,
values
).also {
it.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
spinner.adapter = it
}
언급URL : https://stackoverflow.com/questions/2784081/android-create-spinner-programmatically-from-array
'programing' 카테고리의 다른 글
MySQL 온라인 테스트 도구 (0) | 2023.09.09 |
---|---|
MariaDB의 CANCAT 키가 10.0에서 작동하지만 이후 버전은 작동하지 않는 테이블 (0) | 2023.09.09 |
정적 @BeforeClass에서 필드를 자동 배선하는 방법은 무엇입니까? (0) | 2023.09.09 |
오류: int 이전의 식이 필요합니다. (0) | 2023.09.09 |
파일이 존재하는지 테스트하는 빠른 방법은 무엇입니까? (0) | 2023.09.09 |