반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 안드로이드
- android SAF
- Qt 소켓프로그래밍
- 오토바이
- HTML
- 엑티브엑스
- QT
- 디자이어HD
- 마영전
- Java
- QTcpServer
- 재귀함수
- 정성하
- Qt OpenGL
- vuejs
- 스타2
- 윈도우7
- Qt4
- 바이크
- FFI
- 자바
- 고속도로
- 이륜차
- 알람프로그램
- c언어
- 양평역
- 자료구조
- 잡담
- qt 설치
- 스타크래프트2
Archives
- Today
- Total
프로그래밍과 잡담
안드로이드 인텐트.. 본문
인텐트를 이용해서
데이터를 주고 받는법
Intent intent = new Intent(this, TestClass.class); String var1="test" intent.putExtra("var1",var1); startActivityForResult(intent,1);
위와 같은 식으로 인텐트를 사용하면
불려진 클래스에서
저 var1을 받을 수 있다.
받는 방법은
.... String test = getIntent().getStringExtra("var1"); Log.i("test",test); ....
이런식으로 사용하면 된다.
엑티비티를 불른 클래스에서 불려진 클래스에서 값을 받을 려면
말이 좀 그런데
A를 원래 클래스
B를 불려진 클래스
라 하자.
A에서 인텐트를 이용하여 B를 불렀다.
B에서 뭔짓을 한 다음에
A한테 값을 보내 싶은거다.
그걸 처리하기 위해서는
처음에 부를때는 이런식일 것이다..
... Intent intent = new Intent(this, B.class); startActivityForResult(intent,1); ...
불려진 클래스 B에서는
이런 코드가 있을것이다.
..... ... Intent intent = getIntent(); String data = "test"; intent.putExtra("data",data); setResult(RESULT_OK, intent); finish(); ...
그리고
A클래스에서는 이 메소드를 오버라이딩을 한다.
protected void onActivityResult(int requestCode, int resultCode, Intent data) { if( resultCode == RESULT_OK ) { if( requestCode == 1) { String data = intent.getStringExtra("data"); .... } } }
결론
데이터를 보낼때는
Intent의 putExtra(String , Object ) 를 통해서 보내고
Intent.get[...]Extra(String)으로 값을 받는다.
인텐트 에러시..
ERROR/AndroidRuntime(18852): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=2, result=-1, data=null} to activity {페키지명.클래스이름}: java.lang.NullPointerException
이 문제는 거의
setResult(RESULT_OK); 이렇게 해서 일어나는거다.
반드시 이렇게 해야한다..
setResult(RESULT_OK, intent);
반응형
'프로그래밍 > 안드로이드' 카테고리의 다른 글
[안드로이드] Custom ArrayAdapter 이상 현상.. (0) | 2011.01.21 |
---|---|
[안드로이드] Jazzlib 한글 깨짐 문제.. (0) | 2011.01.12 |
[안드로이드] 홈 버튼.. (0) | 2010.12.30 |
안드로이드 뒤로가기 버튼 (0) | 2010.12.23 |
안드로이드 해상도 문제 (0) | 2010.12.22 |
Comments