336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
MainActivity에서 SubActivity로 대화상자를 띄우고 그 결과를 MainActivity가 받고자 하는 경우...
1. MainActivity에서 SubActivity를 호출하는 부분
public class MainActivity extends Activity implements View.OnClickListener { // SubActivity를 모달 다이얼로그로 띄우는 동작을 ACTIVITY_CODE_DEFAULT (0)으로 정의합니다. public static final int ACTIVITY_CODE_DEFAULT = 0; // ... 중략 ... @Override public void onClick(View v) { // MainActivity 내 어떤 버튼을 클릭하여 SubActivity를 모달 다이얼로그처럼 띄웁니다. Intent intent = new Intent(MainActivity.this, SubActivity.class); intent.putExtra("value", "테스트"); this.startActivityForResult(intent, ACTIVITY_CODE_DEFAULT); } }
2. SubActivity에서 MainActivity로 결과를 전달하는 부분
public class SubActivity extends Activity implements View.OnClickListener { // SubActivity를 띄운 결과가 인텐트에 실려 MainActivity로 전달되는데, 이 때 값의 이름을 정의합니다. public static final String INTENT_NAME_RESULT = "result"; private Button buttonYes = null; // [예(Y)] 버튼 private Button buttonNo = null; // [아니오(N)] 버튼 private Button buttonCancel = null; // [취소(C)] 버튼 // ... 중략 ... @Override public void onClick(View v) { Intent intent = new Intent(); if (v == null) { } else if (v.equals(this.buttonYes)) { intent.putExtra(INTENT_NAME_RESULT, "예"); // 또는 intent.setAction("예"); } else if (v.equals(this.buttonNo)) { intent.putExtra(INTENT_NAME_RESULT, "아니오"); // 또는 intent.setAction("아니오"); } else if (v.equals(this.buttonCancel)) { intent.putExtra(INTENT_NAME_RESULT, "취소"); // 또는 intent.setAction("취소"); } else { } this.setResult(Activity.RESULT_OK, intent); this.finish(); } }
3. SubActivity가 닫히고 MainActivity로 돌아올 때 결과 얻기
public class MainActivity extends Activity implements View.OnClickListener { public static final int ACTIVITY_CODE_DEFAULT = 0; // ... 중략 ... @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == ACTIVITY_CODE_DEFAULT && resultCode == Activity.RESULT_OK) { if (data != null) { // 결과 가져오기 String result = data.getStringExtra(SubActivity.INTENT_NAME_RESULT); // 또는 data.getAction(); } } } }
'Application Programming Interface > Android' 카테고리의 다른 글
Android Studio에서 SQLCipher 라이브러리 추가 방법 (0) | 2017.02.08 |
---|---|
위젯 업데이트 주기 빠르게 하기 (1) | 2015.03.18 |
MediaRecorder 클래스 사용법 (소리 편) (0) | 2015.02.09 |
MediaPlayer 클래스 사용법 (0) | 2015.02.06 |
위젯 구현하기 (0) | 2015.02.05 |