我写了一个AsynkTask巫婆连接到数据库,然后将结果放在UI中。这完美地工作,但是然后我想包含一个Dialog或其他东西,其他Layout巫婆显示一个progressBar然后更新UI。

好了,现在布局发生了变化,最后我有了“ testGUI”布局,但是它没有随AsynkTask数据一起升级。这是代码。非常感谢。

类DatabaseAsync扩展了AsyncTask {

    @Override
    protected void onPreExecute(){
        setContentView(R.layout.loading);
    }
    /**
     * Se ejecuta en el hilo secundario, en segundo plano
     */
    @Override
    protected JSONArray doInBackground(Void... params) {
        JSONArray jArray = new JSONArray();
        jArray = DatabaseController
                .rellenarArray("SomeURL");
        return jArray;
    }

    /**
     * Una vez terminado el hilo secundario se ejecuta esto
     */
    @Override
    protected void onPostExecute(JSONArray jArrayFull) {
        setContentView(R.layout.testgui);
         getQuestion(jArrayFull,1);
    }

}

最佳答案

您不能两次使用setContentView()。您将必须获取每个视图的引用,并通过在onPostExecute()中更改其属性来对其进行更新。

10-06 08:31