마스터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일 답변
...