일단 서비스에서 Json으로 웹에서 값을 가지고 오고 있구요
이걸 메인 액티비티에 있는 TextView에 업데이트 해 주고 싶은데요
그냥 변수값만 get함수를 하나 만들어 줘서 업데이트 하고
그 변수값을 바꿔주려 하니 널익셉션 로그가 뜨더라구요..(예상은 했었지만..)
서비스에서 처리한 String 변수값을 메인 액티비티에 업데이트를 해 주려면 어떻게 해야 할까요..
이벤트 리스너를 만드시고
가령 서비스에서
public interface OnTextEventListener {
public void onTextEvent(String text);
}
private OnTextEventListener mOnTextEventListener;
public void setOnTextEventListener(OnTextEventListener listener) {
mOnTextEventListener = listener;
이런 세트로 만들어 주시고 텍스트 처리하고 난 코드에서
String text = "처리한 텍스트";
if (mOnTextEventListener != null) {
mOnTextEventListener.onTextEvent(text);
그리고 구현부인 액티비티에서
서비스 인스턴스를 받아와서
service.setOnTextEventListener(new OnTextEventListener() {
@Override
public void onTextEvent(String text) {
textView.setText(text);
});
이렇게 처리 후 바로 이벤트를 발생 시켜서 처리시켜주면 됩니다.
아마 코드가 익숙하실텐데 버튼 클릭등등의 이벤트들이 다 이런방식 입니다.
액티비티에서 서비스 인스턴스는 어떻게 받아오나요??
로그인 유지
이벤트 리스너를 만드시고
가령 서비스에서
public interface OnTextEventListener {
public void onTextEvent(String text);
}
private OnTextEventListener mOnTextEventListener;
public void setOnTextEventListener(OnTextEventListener listener) {
mOnTextEventListener = listener;
}
이런 세트로 만들어 주시고 텍스트 처리하고 난 코드에서
String text = "처리한 텍스트";
if (mOnTextEventListener != null) {
mOnTextEventListener.onTextEvent(text);
}
그리고 구현부인 액티비티에서
서비스 인스턴스를 받아와서
service.setOnTextEventListener(new OnTextEventListener() {
@Override
public void onTextEvent(String text) {
textView.setText(text);
}
});
이렇게 처리 후 바로 이벤트를 발생 시켜서 처리시켜주면 됩니다.
아마 코드가 익숙하실텐데 버튼 클릭등등의 이벤트들이 다 이런방식 입니다.