Development/Android
Intent 사용예(startActivityForResult())
독행소년
2011. 9. 29. 11:19
1.main.xml 파일에 TextView와 Button을 추가한다.
<TextView android:id="@+id/text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Sample" /> <Button android:id="@+id/btnedit" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="mOnClick" android:text="Edit" /> |
2. main Activity파일에 Intent를 정의한다.
public void mOnClick(View v) { switch (v.getId()) { case R.id.btnedit: Intent intent = new Intent(this, C14_ActEdit.class); intent.putExtra("TextIn", mText.getText().toString()); startActivityForResult(intent,ACT_EDIT); break; } } |
버튼 btnedit가 눌리면 mOnClick이 호출되고, Intent를 생성한 후 startActivityForResult()함수를 통해 Activity를 호출한다.
3. Activity 호출의 결과를 리턴받는다.
protected void onActivityResult (int requestCode, int resultCode, Intent data) { switch (requestCode) { case ACT_EDIT: if (resultCode == RESULT_OK) { mText.setText(data.getStringExtra("TextOut")); } break; } } |
on ActivityResult는 mOnClick()에서 호출한 startActivityForResult()의 리턴값을 받을때 실행되는 메서드다.