2013-06-28 2 views
0

doInBackground 메서드에서 실행할 때 아래의 메서드는 작동하지만 작동에는 문제가 없습니다.ListPopupWindow - asyncTask에서 오류를 발생합니다.

private void showPopup(ArrayList<String> dates) { 
    ListPopupWindow popup = new ListPopupWindow(context); 
    popup.setAdapter(new ArrayAdapter<String>(context, 
      android.R.layout.simple_list_item_1, dates 
        .toArray(new String[dates.size()]))); 

    popup.setAnchorView(context.periodicTable); 
    popup.setWidth(ListPopupWindow.WRAP_CONTENT); 
    popup.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 
      Toast.makeText(context, "Clicked item " + position, 
        Toast.LENGTH_SHORT).show(); 
      context.startProgressDialog(); 
     } 
    }); 
    popup.show(); 
} 
+0

죄송합니다. 백그라운드에서 실행하는 UI 작업을 처리하는 UI 스레드가 UI 스레드에서 실행되어 doin 백그라운드에서 메서드를 호출 할 수 없습니다. –

+0

runOnUiThread()가 작동하지 않았습니다. –

답변

0

백그라운드 스레드에서 UI를 조작하려고합니다.

UI 스레드에서만이 작업을 수행해야합니다.

관련 문제