Android ListPopupWindow-在asyncTask中给出错误

Android ListPopupWindow-在asyncTask中给出错误,android,user-interface,Android,User Interface,下面的方法在doInBackground方法中运行时崩溃,但在活动中运行良好 private void showPopup(ArrayList<String> dates) { ListPopupWindow popup = new ListPopupWindow(context); popup.setAdapter(new ArrayAdapter<String>(context, android.R.layout.simple_

下面的方法在doInBackground方法中运行时崩溃,但在活动中运行良好

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();
}
private void showPopup(数组列表日期){
ListPopupWindow popup=新的ListPopupWindow(上下文);
popup.setAdapter(新的ArrayAdapter(上下文、,
android.R.layout.simple\u列表\u项目\u 1,日期
.toArray(新字符串[dates.size()]);
popup.setAnchorView(context.periodicTable);
popup.setWidth(ListPopupWindow.WRAP_内容);
setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
Toast.makeText(上下文,“单击项”+位置,
吐司。长度(短)。show();
context.startProgressDialog();
}
});
popup.show();
}

您正试图从后台线程操作UI


您应该只从UI线程执行此操作。

很抱歉,您在后台执行的操作不是处理UI操作的UI线程。您可以使用在UI线程上运行从doin background调用该方法,但runUnuithRead()不起作用。