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

AsyncTask 의 변수를 다른 클래스에서 상요하고 싶습니다.

0 추천
class AsyncLoadCalendars extends AsyncTask<Void, Void, Void> {
 
    private Context mContext;
    private final ProgressDialog dialog;
    private com.google.api.services.calendar.Calendar client;
    public static List<CalendarListEntry> items;
    public static List<Event> items1 ;
 
    AsyncLoadCalendars(Context context, Calendar client) {
        //      this.calendarSample = calendarSample;
        mContext = context;
        this.client = client;
        dialog = new ProgressDialog(mContext);
    }
 
    @Override
    protected void onPreExecute() {
        dialog.setMessage("Loading calendars...");
        dialog.show();
    }
 
    @Override
    protected Void doInBackground(Void... arg0) {
 
        try {
            String pageToken = null;
 
            CalendarList calendarList = client.calendarList().list().setPageToken(pageToken).execute();
            List<CalendarListEntry> items = calendarList.getItems();//items에 저장
            Log.e("SR","-1");
             
            if (items != null) {
                Log.e("SR","0");
                for (CalendarListEntry calendarListEntry : items)
                {
                    String calendarId =calendarListEntry.getId();
                 
                    System.out.println("캘린더 리스트 : "+calendarListEntry.getSummary());
                     
                    Events events =
                            client.events().list(calendarId).setPageToken(pageToken).execute();
                    List<Event> items1 = events.getItems();
 
                    if (items1 != null) {
 
                        for (Event event : items1) {
                    //      System.out.println(event.getColorId()+"");
 
                            System.out.println(event.getSummary()+"");
                            Log.e("SR","6");//끝나고 다시 처음부터
                             
                        }
                    }
                }
            }
 
        } catch (IOException e) {
        } finally {
            }
         
         
        return null;
    }
    @Override
    protected void onPostExecute(Void result) {
        dialog.dismiss();
    }

Event 변수와 calendarListEntry 변수를 다른 클래스에서 사용하고 싶습니다.

어떻게 해야하나요ㅜ

 

이죠 (420 포인트) 님이 2013년 2월 28일 질문

1개의 답변

+2 추천
1. public static으로 선언되어 있으므로 그냥 가져다 사용한다.

2. 핸들러를 통해서 넘긴다.

3. listener를 만들어 메소드를 통해서 넘긴다.
원조안드로이드 (58,190 포인트) 님이 2013년 2월 28일 답변
...