使用asynctask OnPostExecute使元素可见/不可见

时间:2012-10-17 20:39:59

标签: android android-asynctask visible

我正在使用AsyncTask来抓取网络Feed。设置活动后,我在activity_main中显示这些元素,如同启动画面一样......

 android:id="@+id/progressBar1"
 android:id="@+id/loading_label"

然后,一旦执行了asynctask,我想要这些GONE并使其他元素可见:

 android:id="@+id/login_label"
 android:id="@+id/login_textbox"

如何在onPostExecute中正确设置可见性,这是​​我尝试过的......

protected void onPostExecute(String retval) {
    progressBar1.setVisibility(View.GONE);
    loading_label.setVisibility(View.GONE);
    login_label.setVisibility(View.VISIBLE);
    login_textbox.setVisibility(View.VISIBLE);
}

但是我得到了错误...... “此行的多个标记
     - progressBar1无法解析
     - 视图无法解析为变量“

1 个答案:

答案 0 :(得分:3)

这是因为这些变量不在AsyncTask类的范围内。一个简单的方法是在Activity中编写一个设置可见性的函数,然后从onPostExecute调用该函数。