안드로이드 개발 질문/답변
(글 수 45,052)
private void btn_next1(){
Button btn = (Button)findViewById(R.id.next);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Menu.this, onepage.class);
startActivityForResult(intent,1);
}
});
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
TextView fdatelabel =(TextView)findViewById(R.id.fdate);
Button next = (Button)findViewById(R.id.next);
if (requestCode == RESULT_OK){
if(requestCode==1){
fdatelabel.setText(data.getStringExtra("fdate"));
next.setText(title.getText().toString());
}
}
다른 엑티비티
private void updata(){
Intent intent = getIntent();
TextView date = (TextView)findViewById(R.id.date);
TextView title2 = (TextView)findViewById(R.id.title2);
intent.putExtra("fdate",date.getText().toString());
intent.putExtra("title",title2.getText().toString());
setResult(RESULT_OK,intent);
이렇게 하는게 맞나요? 이렇게 했는데 값은 아무것도 안넘어오는 이유는 뭘까요??
Button btn = (Button)findViewById(R.id.next);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Menu.this, onepage.class);
startActivityForResult(intent,1);
}
});
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
TextView fdatelabel =(TextView)findViewById(R.id.fdate);
Button next = (Button)findViewById(R.id.next);
if (requestCode == RESULT_OK){
if(requestCode==1){
fdatelabel.setText(data.getStringExtra("fdate"));
next.setText(title.getText().toString());
}
}
다른 엑티비티
private void updata(){
Intent intent = getIntent();
TextView date = (TextView)findViewById(R.id.date);
TextView title2 = (TextView)findViewById(R.id.title2);
intent.putExtra("fdate",date.getText().toString());
intent.putExtra("title",title2.getText().toString());
setResult(RESULT_OK,intent);
이렇게 하는게 맞나요? 이렇게 했는데 값은 아무것도 안넘어오는 이유는 뭘까요??
2010.05.03 19:11:41
음 제 설명이 미흡했군요 제가 설명을 잘 못해서^^
자세히 함수 설명이나 이런건 레퍼런스를 보시면 됄꺼 같고요 위소스로 설명을 하자면
Intent intent = new Intent(Menu.this, onepage.class);
intent.putExtra(TAG, [넘겨보낼 변수] ); <---- 이부분이 추가 되야할 것 같고요
startActivityForResult(intent,1);
이 코드가 호출하는 부분이라면 호출 되는 부분에서는
Bundle intent = getIntent().getExtras();
string str = m_extras.getString("TAG");
이렇게 해야 변수를 넘겨받을수있습니다.
지금 K&P 님의 코드를 다시 보니 인텐트로 실행된 App에게 실행중에 메세지, 또는 변수를 받게 하려는거 같은데 맞나요?
그런게 맞다면 그부분은 잘 모르겠습니다.
제가 해본건 인텐트로 실해시키고 실행시킬때 변수를 넘겨주는 거였거든요.
설명이 부족해서 죄송합니다 ^^;;
전 getIntent()를 하고서 getExtras() 더해주었습니다.
getIntent().getExtras() 요렇게
그리고 얻어온 extras에서 다시 제가 넘겨 주었던 스트링을 받았죠
getString()을 이용해서요 설명이 조금 이상한가요??;;
그리고 여기 코드에선 버튼 클릭쪽이 돼겠군요 값을 넘겨줄땐 putExtras() 를 사용했습니다