0

以下のメソッドは、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();
}
4

1 に答える 1

0

バックグラウンド スレッドから UI を操作しようとしています。

これは、UI スレッドからのみ行う必要があります。

于 2013-06-28T11:08:31.877 に答える