안드로이드 개발 질문/답변
(글 수 45,052)
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent intent = getIntent();
final String str1;
str1 = intent.getExtras().getString("Num");
final EditText One = (EditText)findViewById(R.id.editText3);
final EditText Two = (EditText)findViewById(R.id.editText2);
final EditText Three = (EditText)findViewById(R.id.editText1);
Button submit = (Button)findViewById(R.id.submit);
submit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String input = One.getText().toString();
String input1 = Two.getText().toString();
String input2 = Three.getText().toString();
sendText((str1),(input+" "+input1+" "+input2));
setContentView(R.layout.result);
}
});
연습중인데 이해가 잘 안가서요..
다른 activity 에서 입력된 putExtra 값을 현재 activity에서 사용하려하거든요.
그래서 getIntent해온 뒤에 getExtra 했구...str1로 설정해서 전역변수로 주고
그 값을 onClick했을 때 받아오고 싶엇는데..
왜 오류가 나는 걸까요 도와주세요
2013.06.05 10:43:41
전역변수와 지역변수의 기본개념부터 다시 잡아야겠네요 ...
onCreate 위에 private로 Str을 다시 줬습니다...
문제는 해결되었습니다 혹시모를 putExtras와 getExtras 때문에 저와같은 문제가 생기실 분들을 위해..
총 Activity는 3개 였는데
A activity에서 putExtras를 하고
Intent는 B activity로 줘 놓고 ... 제가
C activity 에서 getExtras 를 해서
null error가 나타난 거였답니다...ㅠㅠㅠ
저는 putExtra가 data를 저장해놓는다는 의미인줄알고
다른 activity에서도 당연히 불러올 줄 알앗는데..
더공부해야겠습니다!
감사합니다 답변!
final
String str1; 에 final을 왜 쓰셨는지 모르겠지만 지우세요.
final은 계속 변경이 가능한 변수에서는 사용하면 안됩니다. 상수선언시 많이 사용합니다.
f