728x90
한빛아카데미 Android Studio를 활용한 안드로이드 프로그래밍 6판
p.445 직접 풀어보기 11-3
스피너에 영화 제목을 선택하면 해당 영화 포스터가 아래쪽 이미지뷰에 나오도록 [예제 11-17]을 수정하라.
HINT Spinner의 setOnItemSelectedListener()를 사용한다.
코드
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Spinner
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/ivPoster"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="20dp" />
</LinearLayout>
MainActivity.java
package com.cookandroid.test2;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.Spinner;
public class MainActivity extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("스피너 테스트");
final String[] movie = { "쿵푸팬더", "짱구는 못말려", "아저씨", "아바타", "대부", "국가대표",
"토이스토리3", "마당을 나온 암탉", "죽은 시인의 사회", "서유기" };
final Integer[] posterID = { R.drawable.mov21, R.drawable.mov22,
R.drawable.mov23, R.drawable.mov24, R.drawable.mov25,
R.drawable.mov26, R.drawable.mov27, R.drawable.mov28,
R.drawable.mov29, R.drawable.mov30 };
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_item, movie);
Spinner spinner = findViewById(R.id.spinner1);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View view,
int position, long id) {
ImageView ivPoster = findViewById(R.id.ivPoster);
ivPoster.setScaleType(ImageView.ScaleType.FIT_CENTER);
ivPoster.setPadding(5, 5, 5, 5);
ivPoster.setImageResource(posterID[position]);
}
public void onNothingSelected(AdapterView<?> arg0) { }
});
}
}
결과
728x90
'개발 > 책' 카테고리의 다른 글
[쉽게 풀어쓴 C언어 Express] 7장 Programming (3) | 2022.01.08 |
---|---|
[안드로이드 프로그래밍] 11장 직접 풀어보기 11-2 (0) | 2021.12.07 |
[안드로이드 프로그래밍] 11장 직접 풀어보기 11-1 (0) | 2021.12.07 |