안드로이드 개발 질문/답변
(글 수 45,052)
VoiceActivity.java
- 음성인식을 한다음 입력된 문자열과 번역된 문자열 값을 translateDialog에 전달합니다
translateDialog.java
- 전달받은 문자열을 EditText에 출력합니다.
지금 activity에서 dialog(alertDialog 말고)로 값을 전달할려고 하는데
activity가 아니여서 intent에 값을 넣어서 줄수가 없어 static으로 값을 줬거든요.
근데 특이한게 첫번째는 잘 넘어가는데 두번쨰 부터는 값이 변하질 않아요.
예를 들어, EditText에 입력된 문자열 값을 Dialog의 EditText에 전달할려고 할때
처음에 sad를 입력하면 sad가 잘넘어가거든요. 근데 다른 단어 (ex. you)를 입력하면
다시 sad가 나와요.
무슨 문제가 있는 걸까요?
그리고 xml 태그에서 '엔터값'을 입력하는 방법이 뭔가요?
- 음성인식을 한다음 입력된 문자열과 번역된 문자열 값을 translateDialog에 전달합니다
translateDialog.java
- 전달받은 문자열을 EditText에 출력합니다.
지금 activity에서 dialog(alertDialog 말고)로 값을 전달할려고 하는데
activity가 아니여서 intent에 값을 넣어서 줄수가 없어 static으로 값을 줬거든요.
근데 특이한게 첫번째는 잘 넘어가는데 두번쨰 부터는 값이 변하질 않아요.
예를 들어, EditText에 입력된 문자열 값을 Dialog의 EditText에 전달할려고 할때
처음에 sad를 입력하면 sad가 잘넘어가거든요. 근데 다른 단어 (ex. you)를 입력하면
다시 sad가 나와요.
무슨 문제가 있는 걸까요?
그리고 xml 태그에서 '엔터값'을 입력하는 방법이 뭔가요?
2009.08.28 11:20:05
프로그램 설계적인 문제에서 static이 문제가 될 순 있지만 값이 저절로 바뀌 거나 하지는 않을것입니다.
멀티스레드로 동작할때 말씀 하신 경험을 하실 수 있을꺼 같습니다. 이클립스 쓰신다면 말씀 하신 변수를 갭슐화 해서 어떤 스래드에서 set을 호출하는지 확인이 보면 되지 않을까 생각합니다.
멀티스레드로 동작할때 말씀 하신 경험을 하실 수 있을꺼 같습니다. 이클립스 쓰신다면 말씀 하신 변수를 갭슐화 해서 어떤 스래드에서 set을 호출하는지 확인이 보면 되지 않을까 생각합니다.
2009.08.28 13:26:13
어떤 문제인지 저는 대충(?) 이해 할거 같습니다. 저도 프로그램 하면서 격었던 문젠데요...
onCreateDialog 다이얼로그에서 특정 전역 변수값을 설정 하도록 되어있다고 가정할때 처음 다이얼로그를 열었을땐 는 값이 적용되지만
두번째에는 변경된 값이 아닌 이전의 값이 계속 남아있는문제를 말씀 하신듯 하네요 ㅎㅎ
워낙 제가 짧은 지식이라 제경험이 맞다면 ... 다이얼로그를 열때마다 변경된 변수 값을 적용하고자 하신다면
protected void onPrepareDialog(int id, Dialog dialog) 를 이용해보세요 ^^
onCreateDialog 다이얼로그에서 특정 전역 변수값을 설정 하도록 되어있다고 가정할때 처음 다이얼로그를 열었을땐 는 값이 적용되지만
두번째에는 변경된 값이 아닌 이전의 값이 계속 남아있는문제를 말씀 하신듯 하네요 ㅎㅎ
워낙 제가 짧은 지식이라 제경험이 맞다면 ... 다이얼로그를 열때마다 변경된 변수 값을 적용하고자 하신다면
protected void onPrepareDialog(int id, Dialog dialog) 를 이용해보세요 ^^