마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Activity >> Service 에서의 putExtra getExtra질문입니다.

0 추천

progress는 SeekBar의 progress입니다.

 

Intent in_01 = new Intent(MainActivity.this , Service.class);

int result = (int) (mParams.alpha = progress / 100);

in_01.putExtra("dd", result);

startService(in_01);

이런식으로 서비스 클래스에 날려줍니다.

 

MainActivity SeekBar의 값을 그대로 받고싶은데 어떻게 해야하나요?

제가아는 방법으로 getExtra를 써봤지만 별다른 성과가 없어 질문올립니다.

getExtra를 받는 클래스는 Service를 상속받은 클래스입니다.

 

김제로 (420 포인트) 님이 2014년 2월 11일 질문

1개의 답변

0 추천
SeekBar의 값을 그대로 받으시려면...

현재 progress /100 으로 연산 후 보내시는 값을 연산하지말고 progress 그대로 보내시면 될텐데요...

 

지금 받으시려는 값이 제대로 꺼내지지 않아서 질문하셨다고... 가정하고...

한가지 걸리는 사항이 SeekBar의 max값이 얼마인지 모르겠지만.. 아마 100으로 하셨겠죠?

progress / 100 << 이 연산에서 progress가 100보다 작을 경우 0이 나오는 현상...

그래서 자꾸 0이 나와서 현재 질문을 올리신건가요?

 

(int로 다시 캐스팅 한거 보니까 mParam.alpha 가 부동소수인가 봅니다...)

(float)progress / 100 과 같이 앞 값을 float로 캐스팅하고 뒤쪽은 오토캐스팅 되어

progress가 50 이라고 가정하면 50f / 100f 이되어 0.5가 나옵니다.

 

이제 float로 보내보세요...
칠리님 (10,910 포인트) 님이 2014년 2월 11일 답변
...