값
안드로이드 체크박스 값 전달하기
안드로이드 체크박스를 이용하여 액티비티간 값 전달하기
필요한 코드만 적어서 이대로 실행하면 에러가 나므로 알맞게 수정이 필요함
check.xml 에 체크박스 선언
<CheckBox android:id="@+id/option1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="15sp" />
<CheckBox android:id="@+id/option2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="15sp" />
CheckActivity.java 에서 체크했을 때 동작 코드 추가
public class CheckActivity implements OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);// 액티비티 생성 setContentView(R.layout.check);// check.xml //버튼 선언 Button button=(Button)findViewById(R.id.button_result); button.setOnClickListener(this); // option1 체크박스가 눌렸을 때 findViewById(R.id.option1).setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { Checked(v); // 체크되었을 때 동작코드 } }); // option2 체크박스가 눌렸을 때 findViewById(R.id.option2).setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { Checked(v); // 체크되었을 때 동작코드 } }); } public String Checked(View v) { // 체크되었을 때 동작할 메소드 구현 // TODO Auto-generated method stub CheckBox option1 = (CheckBox) findViewById(R.id.option1); // option1체크박스 // 선언 CheckBox option2 = (CheckBox) findViewById(R.id.option2); // option1체크박스 // 선언 String resultText = ""; // 체크되었을 때 값을 저장할 스트링 값 if (option1.isChecked()) { // option1 이 체크되었다면 resultText = "option1"; } if (option2.isChecked()) { resultText = "option2"; // option2 이 체크되었다면 } return resultText; // 체크된 값 리턴 } @Override public void onClick(View v) { if (v.getId() == R.id.button_result) { //button_result 이라는 버튼이 생성되었다고 가정. Intent it = new Intent(this, MainActivity.class); // MainActivity.java로 보내기 위한 인텐트 선언 it.putExtra("it_check", Checked(v)); // it_check 라는 이름하에 체크된 값을 전달 startActivity(it); // MainActivity.java를 실행하면서 값을 전달 } } }
MainActivity.java에서 값 전달 받기
public class MainActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);//액티비티 생성 setContentView(R.layout.main);//main.xml Intent it=getIntent(); //인텐트 받기 선언 //이전에 보냈던 it_check의 값을 받아 str에 저장 String str= it.getStringExtra("it_check"); //즉 str = "option1" 또는 "option2" 가 들어있음 //이 값을 이용하여 필요한 동작 구현 if(str.equals("option1"){ //str 값이 option1 이라면 //필요한 동작 코드 작성 }else if(str.equals("option2"){ //str 값이 option2 라면 //필요한 동작 코드 작성 } } }
동작 순서는 check.xml -> CheckActivity.java -> MainActivity.java 이렇게 된다
'지식메모 > 안드로이드 Android' 카테고리의 다른 글
안드로이드 시스템 언어 변경에 따라 앱에서도 자동으로 언어 변경하기 (4) | 2015.08.20 |
---|---|
안드로이드 HashMap 을 이용한 이미지 세팅하기. (0) | 2015.06.28 |
안드로이드 Android library projects cannot be launched 에러 발생 해결책 (0) | 2015.01.31 |
안드로이드 Unable to start activity ComponentInfo 문제해결 (0) | 2015.01.31 |
안드로이드 킷캣에서 사진 자르기시 팅기는 현상 임시 해결..? (0) | 2014.12.15 |
안드로이드 스피너 초기 값 지정하기
스피너 값을 특정 값으로 지정하고 싶다면
해당 특정 값의 순서로 지정할 수 있다.
해당스피너변수.setSelection(특정 값 순서);
예를 들면
name 이라는 스피너를 선언했고
스피너 목록에는
성시경
윤하
태연
이렇게 3개가 있다고 가정하자
그런데 스피너 초기 값을 별도로 지정하지 않으면 성시경으로 될 것이다.
하지만 태연으로 지정해주고 싶다.
그렇다면
name.setSelection(2);
라고 해주면 된다.
항상 시작은 0번째부터 시작이니 태연은 0,1,2 순으로 2번이기 때문이다.
onClick 메소드에 추가해주거나 특정 동작을 할 때 이 코드를 넣어주면 초기 값이 바뀐다.
'지식메모 > 안드로이드 Android' 카테고리의 다른 글
안드로이드 is not translated in ko 문제 해결하는 방법 (0) | 2014.07.27 |
---|---|
안드로이드 Invaild project description 문제 해결하는 방법 (0) | 2014.07.27 |
안드로이드 팝업창 만들기(xml 내용 집어넣기) (17) | 2014.01.10 |
안드로이드 검색 자동완성 만들기 (0) | 2013.12.19 |
안드로이드 로딩메세지 띄우기 (0) | 2013.10.27 |