스타의 도서관/안드로이드 개발

안드로이드 기초 강좌(radio group, check box, 응용 과정) - 5/23

스타(star) 2013. 5. 23. 14:23

안녕하세요. 스타입니다.


안드로이드 radio group, radio button을 이용한  기능.

가위바위 보를 선택하면 해당 내용을 아래에 출력해 줍니다.

activity_main.xml

<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"

    android:id="@+id/radio"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical">


    <RadioButton

        android:id="@+id/radio1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="Rock"/>

    <RadioButton

        android:id="@+id/radio2"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="paper"/>

    <RadioButton

        android:id="@+id/radio3"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="scissors"/>

    </RadioGroup>


MainActivity.java

package com.example.radiogroup;


import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.widget.RadioGroup;

import android.widget.RadioGroup.OnCheckedChangeListener;

import android.widget.Toast;


public class MainActivity extends Activity implements android.widget.RadioGroup.OnCheckedChangeListener {


RadioGroup radio;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

radio = (RadioGroup)findViewById(R.id.radio);

radio.setOnCheckedChangeListener(this);

}



@Override

public void onCheckedChanged(RadioGroup group, int checkedId) {

// TODO Auto-generated method stub

if(radio.getCheckedRadioButtonId() == R.id.radio1)

Toast.makeText(this, "rock", Toast.LENGTH_SHORT).show();

if(radio.getCheckedRadioButtonId() == R.id.radio2)

Toast.makeText(this, "paper", Toast.LENGTH_SHORT).show();

if(radio.getCheckedRadioButtonId() == R.id.radio3)

Toast.makeText(this, "scissors", Toast.LENGTH_SHORT).show();

}


}



아래는 수행 결과




check box

구현 못함. 다음에 다른 예제로 재구현 해보겠습니다.



응용과정.

이제 위에 것들을 이용한 간단한 예제 어플리케이션

텍스트 박스에 입력한 텍스트를 confirm 버튼을 누르면 위에 출력해 주는 앱입니다.


activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical">

    

    <TextView

        android:id="@+id/text"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="fill the text"/>

    

    

    <EditText

        android:id="@+id/edittext"

        android:layout_width="match_parent"

        android:layout_height="wrap_content">

        <requestFocus/>

        </EditText>


    <LinearLayout

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:orientation="horizontal" >


        <Button

            android:id="@+id/ok"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="confirm" />


        <Button

            android:id="@+id/cancel"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="cancel" />

    </LinearLayout>

 </LinearLayout>


MainActivity.java

package com.example.layoutwiget;


import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;


public class MainActivity extends Activity {


TextView txt;

EditText edit;

Button btn_ok;

Button btn_cancel;


public void onCreate(Bundle savedInstanceState) {


super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

txt = (TextView)findViewById(R.id.text);

edit = (EditText)findViewById(R.id.edittext);

btn_ok = (Button)findViewById(R.id.ok);

btn_cancel = (Button)findViewById(R.id.cancel);

btn_ok.setOnClickListener(new OnClickListener(){

public void onClick(View v){

String str = null;

str = edit.getText().toString();

txt.setText(str);

}

});

btn_cancel.setOnClickListener(new OnClickListener(){

public void onClick(View v){

finish();

}

});

}


}


실행결과는 아래와 같네요.