[안드로이드 프로그래밍] 4장 직접 풀어보기 4-4

[안드로이드 프로그래밍] 4장 직접 풀어보기 4-4

한빛아카데미 Android Studio를 활용한 안드로이드 프로그래밍 6판

p.193 직접 풀어보기 4-4

[실습 4-2]를 다음과 같이 수정하라.

'좋아하는 안드로이드 버전은?'으로 질문을 변경한다.

'시작함'을 스위치로 변경한다

<선택 완료>를 없애고, 라디오버튼을 선택할 때마다 즉시 해당 이미지가 나오도록 변경한다.

마지막에 <종료>와 <처음으로> 버튼을 추가한다. <종료>를 클릭하면 응용 프로그램이 완전히 종료되게 하고, <처음으로>를 클릭하면 다시 초기화되고 처음 화면이 나오게 한다.

코드

activity_main.xml

MainActivity.java

package com.cookandroid.test; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.CompoundButton; import android.widget.ImageView; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.Switch; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { TextView text1, text2; Switch switch1; RadioGroup group; RadioButton radio1, radio2, radio3; Button button1, button2; ImageView img; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setTitle("안드로이드 사진 보기"); text1 = findViewById(R.id.text1); switch1 = findViewById(R.id.switch1); text2 = findViewById(R.id.text2); group = findViewById(R.id.group); radio1 = findViewById(R.id.radio1); radio2 = findViewById(R.id.radio2); radio3 = findViewById(R.id.radio3); button1 = findViewById(R.id.button1); button2 = findViewById(R.id.button2); img = findViewById(R.id.img); switch1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { if (switch1.isChecked() == true) { text2.setVisibility(View.VISIBLE); group.setVisibility(View.VISIBLE); button1.setVisibility(View.VISIBLE); button2.setVisibility(View.VISIBLE); img.setVisibility(View.VISIBLE); } else { text2.setVisibility(View.INVISIBLE); group.setVisibility(View.INVISIBLE); button1.setVisibility(View.INVISIBLE); button2.setVisibility(View.INVISIBLE); img.setVisibility(View.INVISIBLE); } } }); group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, int i) { switch (group.getCheckedRadioButtonId()) { case R.id.radio1: img.setImageResource(R.drawable.pie); break; case R.id.radio2: img.setImageResource(R.drawable.q10); break; case R.id.radio3: img.setImageResource(R.drawable.r11); break; } } }); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finish(); } }); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { switch1.setChecked(false); radio1.setChecked(false); radio2.setChecked(false); radio3.setChecked(false); img.setImageResource(0); } }); } }

결과

from http://hyunsun99.tistory.com/17 by ccl(A) rewrite - 2021-09-30 00:01:26