簡體   English   中英

如何添加控件以在Android的工作線程中查看

[英]How to add controls to view in a worker thread in Android

我需要在運行時在android應用程序中創建幾個UI控件。

為了在創建控件時不凍結UI(並顯示“正在加載...”框),我想使用如下工作線程:

private class LoadControls extends AsyncTask<TdcItem, Integer, Integer> {
    private ProgressDialog dialog;

    @Override
    protected void onPreExecute() {
        dialog = new ProgressDialog(FormActivity.this);
        dialog.setMessage(getString(R.string.loading_message));
        dialog.setIndeterminate(true);
        dialog.setCancelable(false);
        dialog.show();
    }

    protected Integer doInBackground(TdcItem... items) {
        ScrollView accordion = (ScrollView) findViewById(R.id.accordion);
        int count = items.length;
        for (int i = 0; i < count; i++) {
            Button header = new Button(FormActivity.this);
            header.setText(items[i].getName());
            if (isCancelled()) break;
        }

        return count;
    }

    protected void onPostExecute(Integer result) {
        dialog.dismiss();
    }
}

此代碼是“活動”的一部分,將響應按鈕的單擊。

問題是編譯器說我無法在工作線程中創建按鈕。 我該怎么做?

它似乎是您想要做的一個UI東西,因此應該在UI線程上完成...否則,您將不得不創建一個

new Handler()

創建一個新的Runnable並調用該處理程序的postOnUiThread()方法不是非常... usefull我猜

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM