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

AsyncTask 질문입니다. 도와주세요..

0 추천

 

이렇게 작성을 했는데

로그를 찍어보니 두번을 찍어봐야 데이터가 나옵니다.

 

근데 저 데이터를 가지고 라인차트를 그려보려고 하는데

바로 업데이트가 되지 않습니다.

 

근데, 옆의 week 프레그먼트를 누르고 다시 day를 누르면 

아래 사진과 같이 차트가 그려집니다.

 

제가 이유를 찾아보려고 노력하는데, 정말 모르겠습니다.

 

도와주십시오.

마음나무 (240 포인트) 님이 2019년 5월 21일 질문

2개의 답변

0 추천
비동기로 진행중이라 결과가 바로 나오지 않아서 처음에는 비어있는 배열을 받은겁니다

만드신 AsyncTask에 결과를 받아볼 수 있는 Listener변수 하나 만드시고

set메소드를 통해서 리스터 등록하시고 결과가 나오게되면 Listener변수통해서 결과값 전달받으시면 됩니다.
익명사용자 님이 2019년 5월 21일 답변
헐.. 감사합니다. 한번 해보겠습니다!!!!!!
근데 제가 안드로이드 초보라 그러는데 혹시 좋은 예제(?)같은거는 없을까요?
이런 댓글 달게 되서 미안합니다..
0 추천
public class MyTask extends AsyncTask<String, Integer, Boolean> {
    private OnResultListener listener;

    public MyTask(OnResultListener listener) {
        this.listener = listener;
    }

    @Override
    protected Boolean doInBackground(String... strings) {

        /*  연산 파트  */
        return true

    }

    @Override
    protected void onPostExecute(Boolean result) {

        /*  결과 파트  */
        listener.onComplete(result);
    }

    interface OnResultListener {
        void onComplete(boolean result);
    }
}

 

MyTask task = new MyTask(new MyTask.OnResultListener() {

            @Override
            public void onComplete(boolean result) {
                if (!result) {

                    /* 액티비티에서 해야할 일 */
                }
            }
        });
        task.execute();

 

쓰고있던 클래스 수정해서 올렸습니다
익명사용자 님이 2019년 5월 25일 답변
...