Intent에서 putExtra를 해주게 되면 값을 넘겨 주고 getIntent를 이용해서 값을 받아 사용할 수 있다
- Intent 전달 된 값을 다시 result 할 수 있다.-자바 소스
public class Ex06_IntentWithParamActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button)this.findViewById(R.id.button1);
button.setOnClickListener(this);
}
public void onClick(View arg0) {
// TODO Auto-generated method stub
switch(arg0.getId()){
case R.id.button1:
TextView tv =(TextView)this.findViewById(R.id.textview);
Intent intent = new Intent(this, Activity1.class);
intent.putExtra("param1", tv.getText().toString());
startActivityForResult(intent,1); // 값을 전달 다시 받아오기위해 forresult를 사용했다.
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
//super.onActivityResult(requestCode, resultCode, data);
switch(requestCode){
case 1:
if(resultCode == RESULT_OK){
String ret = data.getStringExtra("retVal"); //다시 받온 값을 여기서 처리한다.
TextView tv1 = (TextView)this.findViewById(R.id.textview);
tv1.setText(ret);
}else if(resultCode == RESULT_CANCELED){
}
break;
}
}
}
-실행화면
--------------------------------------------------------------------------------------------------------
public class Activity1 extends Activity implements OnClickListener {
EditText edit;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
Intent intent = getIntent(); // 값을 받아온다.
String s = intent.getStringExtra("param1");
edit = (EditText)this.findViewById(R.id.edittext);
edit.setText(s);
//edit.setO
Button btn1 = (Button)this.findViewById(R.id.ok);
btn1.setOnClickListener(this);
Button btn2 = (Button)this.findViewById(R.id.cancel);
btn2.setOnClickListener(this);
}
public void onClick(View arg0) {
// TODO Auto-generated method stub
switch(arg0.getId()){
case R.id.ok:
String s2 = edit.getText().toString();
Intent retIntent = new Intent();
retIntent.putExtra("retVal", s2);
setResult(RESULT_OK,retIntent);
finish();
break;
case R.id.cancel:
setResult(RESULT_CANCELED);
finish();
break;
}
}
}
-실행화면
반응형
'차근차근 > Android' 카테고리의 다른 글
Camera 호출 후 이미지 Crop하기 예제 (0) | 2014.08.28 |
---|---|
안드로이드/Android 사진, 갤러리 Image Crop 후 MMS 전송 하기 (0) | 2014.08.28 |
인텐트 (0) | 2014.08.28 |
카메라 크롭 기능 (Camera Crop) (0) | 2014.08.28 |
파일 전송 예제 소스 (0) | 2014.08.28 |