2011. 12. 13. 09:49
안드로이드 액티비티 인텐트(Android Activity Intent) 값을 전달하고, 받아오기
2011. 12. 13. 09:49 in JavaAndroid
인텐트의 5가지 중 마지막 5번 째는 세 번째의 값을 전달 + 네 번째의 값을 다시 받아옴을 합친 것으로 두 가지가 순차적으로 같이 발생하는 경우입니다.
다섯 번째 버튼, 액티비티를 이동할 때 값을 전달하고 되돌아올때 다시 값을 받아오는 경우.
IntentTestMainActivity.java <----> ExtraResultActivity.java
전달하는 값은 "우체국 은행"과 0원이고, 가서 다시 받아오는 값은 4천만원...
전달할 값은 항상 putExtra("전달명", "넘겨주는 값") ; // 숫자면 "" 없이 그냥 입력.
넘겨주는 액티비티에서 처리하는 메써드는 setResult(Activity.RESULT_OK, intent);
메인 파일, IntentTestMainActivity.java
package net.br ;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
public class IntentTestActivity extends Activity {private static final int REQUEST_CODE_2 = 02 ;/** Called when the activity is first created. */
@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.main);}// 값을 넘겨주고 받는 Extra와 Result Intent
public void onClickIntentExtraAndResult(View v){Intent intent = new Intent(this, ExtraAndResultActivity.class);intent.putExtra("account", "우체국 은행");intent.putExtra("restAmount", 0);
this.startActivityForResult(intent, REQUEST_CODE_2);
}// 값을 받아오는 경우의 처리
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == Activity.RESULT_OK){
if(requestCode == REQUEST_CODE_2){
String resultString = data.getStringExtra("result");
Toast.makeText(this, "RESULT=" + resultString,Toast.LENGTH_SHORT).show();}}else{
Toast.makeText(this, "취소하고 그냥 옴.", Toast.LENGTH_SHORT).show();}}}
ExtraAndResult.java
package net.br ;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class ExtraAndResultActivity extends Activity {private TextView textViewAccount ;
private TextView textViewRestAmount ;
@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.setContentView(R.layout.extra_and_result);
String account = this.getIntent().getStringExtra("account");int restAmount = getIntent().getIntExtra("restAmount", 0);textViewAccount = (TextView)findViewById(R.id.account);textViewRestAmount = (TextView)findViewById(R.id.restAmount);String none = null ;
if(restAmount == 0) {
none = "앵꼬~" ;
}textViewAccount.setText(account);textViewRestAmount.setText(none);}public void onClickOk(View v){String result = textViewAccount.getText().toString() + "/ 4천 땡겨옴" ;
Intent intent = new Intent();
intent.putExtra("result", result);
this.setResult(Activity.RESULT_OK, intent);
this.finish();
}public void onClickCancel(View v){this.setResult(Activity.RESULT_CANCELED);
this.finish();
}}
'JavaAndroid' 카테고리의 다른 글
`우분투(Ubuntu)`에서 '안드로이드 시스템 빌드(Android System Build)' 환경 구축하기 (0) | 2011.12.19 |
---|---|
안드로이드 리스트뷰(ListVeiw) + 커스텀 어댑터(Custom Adapter) (0) | 2011.12.19 |
안드로이드(Android) DB SQLite 사용하기 (0) | 2011.12.15 |
Springsource Tool Suite 설치하기 (0) | 2011.12.14 |
안드로이드 액티비티(Android Activity) 돌아올 때 값을 받아오기 (0) | 2011.12.09 |
안드로이드 액티비티(Android Activity) Intent로 이동할 때 값을 넘겨주기 (0) | 2011.12.08 |
안드로이드 인텐트, 전화걸기나 홈페이지 보기 Action Intent (0) | 2011.12.07 |
안드로이드 액티비티(Android Activity) Intent로 전환 이동하기 (0) | 2011.12.06 |