radioGroup 리스너 예제 - 2014.04.01

MainActivity.java
package com.example.project4_1_pet;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
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 android.widget.Toast;

public class MainActivity extends Activity {

	TextView tv1, tv2;
	CheckBox start_chkBox;
	RadioGroup rGroup;
	RadioButton rb1, rb2, rb3;
	ImageView imgView;
	Button btn, btnQuit, btnReturn;
	Switch switchBtn;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		setTitle("yeongjun");

		switchBtn = (Switch) findViewById(R.id.switchBtn);
		tv1 = (TextView) findViewById(R.id.tv1);
		tv2 = (TextView) findViewById(R.id.tv2);
		rGroup = (RadioGroup) findViewById(R.id.RGroup);
		rb1 = (RadioButton) findViewById(R.id.rb1);
		rb2 = (RadioButton) findViewById(R.id.rb2);
		rb3 = (RadioButton) findViewById(R.id.rb3);
		imgView = (ImageView) findViewById(R.id.imgView);
		btnQuit = (Button) findViewById(R.id.btnQuit);
		btnReturn = (Button) findViewById(R.id.btnReturn);

		switchBtn
				.setOnCheckedChangeListener(new Switch.OnCheckedChangeListener() {
					public void onCheckedChanged(CompoundButton cb,
							boolean isChecking) {
						if (isChecking) {
							Toast.makeText(getApplicationContext(),
									"isChecked", Toast.LENGTH_SHORT).show();
							tv2.setVisibility(1);
							rGroup.setVisibility(1);
							imgView.setVisibility(1);
						} else {
							Toast.makeText(getApplicationContext(),
									"isNotChecked", Toast.LENGTH_SHORT).show();

							tv2.setVisibility(4);
							rGroup.setVisibility(4);
							imgView.setVisibility(4);
						}

					}
				});

		rGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
			public void onCheckedChanged(RadioGroup group, int checkedId) {
				// TODO Auto-generated method stub
				switch (checkedId) {
				case R.id.rb1:
					imgView.setImageResource(R.drawable.dog);
					break;
				case R.id.rb2:
					imgView.setImageResource(R.drawable.cat);
					break;
				case R.id.rb3:
					imgView.setImageResource(R.drawable.rabbit);
					break;
				default:
					Toast.makeText(getApplicationContext(),
							"radio btn select plz", Toast.LENGTH_SHORT).show();
				}
			}
		});

		btnQuit.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				finish();
			}
		});

		btnReturn.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				tv2.setVisibility(4);
				rGroup.setVisibility(4);
				imgView.setVisibility(4);

				switchBtn.setChecked(false);
			}
		});
	}
}


main.xml


1. if

구조 

 

if(조건식)

{

//조건식에 만족할 때 수행되는 문장.

}

else if(조건식2)

{

//조건식1이 만족하지 않을 때, 조건식2로 내려와 만족하면 수행되는 문장.

}

else

{

//생략이 가능하며, 위의 어느 조건도 만족하지 않을 때 수행되는 문장.

}

 

 

* equals 메소드

 

String str1 = new String("Hello");

String str2 = new String("Hello");

 

if(str1 == str2)                            // 주소값을 비교. false

if(str1.equals(str2))                    // 변수 안에 내용을 비교하는 메소드. true

if(str1.equalsIgnoreCase(str2))    // 변수안에 대소문자 가리지않고 내용만 확인. true

 

 

2. switch

구조

 

switch(조건식){

case 값1 :

// 조건식의 값이 값1과 같을 경우 실행.

break;    // 모두 실행하고 switch문을 빠져나오기 위함.

case 값2 :

// 조건식의 값이 값2과 같을 경우 실행.

break;

default :

// 위의 조건식에 일치하지 않을 때 실행.

 

※ case문의 값으로 변수를 사용할 수 없다.(리터럴, 상수만 가능)

 

* Math 클래스의 random() : 0.0과 1.0 사이의 범위에 속하는 하나의 double값을 반환하는 메소드.

 

 임의의 문자를 얻을 수 있도록 하는 예제.

0.0 <= Math.random() <1.0

 

0.0 * 26 <= Math.random() * 26 < 1.0 * 26

0.0 <= Math.random() * 26 < 26.0

출력하고자 하는 문자의 갯수 26을 각 변에 곱한다.

 

0.0 * 26 + 65 <= Math.random() * 26 + 65 <1.0 * 26 + 65

65.0 <= Math.random() * 26 + 65 < 91.0

아스키코드 65(A)부터 시작하므로 65를 각 변에 더한다.

 

(char)65.0 <= (char)Math.random() * 26 + 65 < (char)91.0

'A' <= (char)Math.random() * 26 + 65 < '['

문자로 형변환을 한다.

 

 

3. for

구조 

 

for(초기화 ; 조건식 ; 증감식){

// 조건식에 만족할 때 수행되는 문장.

// 순서 : 초기화 → 조건식 → for문 수행 → 증감식 조건식

// for문 안에 초기화에서 변수가 선언되면 for문 안에서만 사용가능하다.

//



4. do-while

구조 

 

do{

// 조건식에 만족할 때 수행되는 문장.

// 최소한 한번은 수행되는 반복문.

}while(조건식)



5. break, continue, Loop

break     : 사용되는 위치에서 가까운 반복문을 빠져나오는데 사용된다.

continue : 반복문의 끝으로 이동하여 다음 반복이 진행된다.

Loop      : 반복문 앞에 이름을 정해주고, break이나 continue에 같이 써줘 반복문을 벗어나거나 반복을 

   건너뛸  수 있게 한다.




+ Recent posts