728x90
반응형
1. array.xml
먼저 app\res\values에 array.xml을 만들어준다.
1
2
3
4
5
6
7
8
|
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="test">
<item>만두</item>
<item>예에</item>
<item>에에</item>
</string-array>
</resources>
|
cs |
그리고 array에 넣고 싶은 변수 종류에 따라서
<string-array>
<integer-array>를 골라서 입력하고
그 array를 호출하기 위한 name도 설정해준다.
그리고 <item>또한 추가해준다.
2. activity_main.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Spinner
android:layout_width="150dp"
android:layout_height="40dp"
android:id="@+id/sp"
android:entries="@array/test"/>
</LinearLayout>
|
cs |
8~12 - 드롭다운 메뉴를 만들어주기 위해 위와 같이 Spinner 태그를 사용해줘야한다.
11 - java파일에서 접근하기 위해서 id를 설정해주고
12 - 원하는 배열을 연결해주기 위해서 android:entries 속성도 설정해준다.
3. MainActivity.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
package com.example.spinnerexample;
import ...
public class MainActivity extends AppCompatActivity {
Spinner spinner;
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner = (Spinner)findViewById(R.id.sp);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Log.d(TAG, parent.getItemAtPosition(position).toString());
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
}
|
cs |
18~28 - .setOnItemSelectedListener()을 이용해서 spinner의 item을 선택했을 때와 선택하지 않았을 때의 이벤트를 설정 해줄 수 있다.
20 - 선택했을 때 parent.getItemAtPosition(position)을 통해서 선택한 item을 불러올 수 있다.
728x90
반응형
'Android App' 카테고리의 다른 글
mediaPlayer (mp3 재생) in Android Studio (0) | 2021.08.23 |
---|---|
loadingAnimation (SpinKit) in Android Studio (0) | 2021.08.23 |
FirebaseCloudMessaging (푸시 알림) in Android Studio (0) | 2021.08.16 |
MediaRecorder (동영상 녹화), 권한 묻기 in Android Studio (0) | 2021.08.16 |
드래그로 Fragment 크기 조절 in Android Studio (2) | 2021.08.09 |