Android ListPopupWindow-在asyncTask中给出错误
下面的方法在doInBackground方法中运行时崩溃,但在活动中运行良好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_
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()不起作用。