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

어싱크 태스크 관련된 질문인데 실행시 값이 도무지 받아오질 않습니다.ㅠㅜㅠㅜ

0 추천
메인 소스

public class MainActivity extends AppCompatActivity {

    int a=4;
    int b;
    int c;

    TextView text1;
    TextView text2;
    TextView text3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        text1 = (TextView)findViewById(R.id.text1);
        text2 = (TextView)findViewById(R.id.text2);
        text3 = (TextView)findViewById(R.id.text3);

        Task t = new Task(a);
        b = t.sum();
        c = t.c;

        text1.setText(t.a+"");
        text2.setText(b+"");
        text3.setText(c+"");
    }
}

 

Task 소스

public class Task {

    int a;
    int b=5;
    int c;

    public Task(int a){
        this.a = a;
    }

    public int sum(){

       int s= a+b;
        Async as = new Async();
        as.execute();

        return s;
    }

    class Async extends AsyncTask<Integer,Integer,Integer>{

        @Override
        protected Integer doInBackground(Integer... integers) {
            int a1 = 4;
            int b1 = 5;
            return a1+b1;
        }

        @Override
        protected void onPostExecute(Integer integer) {
            int c1 = integer;

            c = c1;

        }
    }
}

 

실행시 왜 메인 소스에 t.c에 값이 안뜨는지 모르겠습니다....ㅠㅜㅠㅜ 다른건 다 뜨는데요ㅠㅜㅠㅜ
alsdn1398 (220 포인트) 님이 2018년 4월 13일 질문

1개의 답변

0 추천

  @Override
        protected void onPostExecute(Integer integer) {
          super.onPostExecute(integer);
            
            int c1 = integer;

            c = c1;

        }

 

super 가 빠졌네여

sadeva (21,550 포인트) 님이 2018년 4월 13일 답변
...