Activity 간 데이터 전달하는 방법
/**호출받는 Activity 소스 코드*/ public class IntentCallee extends Activity implements View.OnClickListener{ /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.intentcallee); Button button = (Button)findViewById(R.id.Close); button.setOnClickListener(this); this.setData(); } private void setData() { // TODO Auto-generated method stub Intent intent = getIntent(); String name = intent.getExtras().get("name").toString(); String age = intent.getExtras().get("age").toString(); TextView nameText = (TextView)findViewById(R.id.Name); nameText.setText(name); TextView ageText = (TextView)findViewById(R.id.Age); ageText.setText(age); } @Override public void onClick(View v) { // TODO Auto-generated method stub finish(); } }
/** 호출하는 Activity 소스 코드 public class IntentCaller extends Activity implements View.OnClickListener{ /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.intentcaller); Button button = (Button)findViewById(R.id.Send); button.setOnClickListener(this); } @Override public void onClick(View arg0) { // TODO Auto-generated method stub EditText nameEdit = (EditText)findViewById(R.id.Name); EditText ageEdit = (EditText)findViewById(R.id.Age); Intent intent = new Intent(this, IntentCallee.class); intent.putExtra("name", nameEdit.getText()); intent.putExtra("age", ageEdit.getText()); startActivity(intent); } }호출하는 Activity 와 호출받는 Activity에서
intent.putExtra("name", nameEdit.getText());↔intent.getExtras().get("name").toString();
putExtra의 "name"과 getExtras.get의 "name"같이 문자열은 일치되어야 한다.
intent.putExtra("age", ageEdit.getText()); ↔ intent.getExtras().get("age").toString(); putExtra의 "age"과 getExtras.get의 "age"같이 문자열은 일치되어야 한다.
일치되지 않으면 실행 오류(Runtime Error)가 발생한다.
'안드로이드 > 참고 자료' 카테고리의 다른 글
EditText 클릭 시 기본 키보드를 숫자 키보드로 바꾸기 (0) | 2012.06.26 |
---|---|
[안드로이드] 버튼 클릭 이벤트 (0) | 2012.05.25 |
안드로이드 어플 개발 관련 링크 (0) | 2011.12.02 |
구글맵 사용하기 (0) | 2011.11.12 |
Re-installation failed due to different application signatures. Please execute 'adb uninstall ~' in a shell 해결법 (1) | 2011.10.26 |