꿈꾸는 시스템 디자이너

Intent 사용예(startActivityForResult()) 본문

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()의 리턴값을 받을때 실행되는 메서드다.

Comments