【发布时间】:2014-02-20 13:18:51
【问题描述】:
在我的 android 应用程序中,我必须在首次通过在线服务器运行时加载数据。但是在启动屏幕之后,加载栏应该以黑色背景显示。但是当我在做的时候,它会显示进度条后面的内容。我想要的只是显示进度条(黑色背景),直到数据被下载。
这是我的 mainactivity.java 代码
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
task myTask = new task();
myTask.execute();
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//other code
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
//getMenuInflater().inflate(R.menu.main, menu);
return true;
}
class task extends AsyncTask<String, Integer, String> {
private ProgressDialog progressDialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog=new ProgressDialog(MainActivity.this, android.R.style.Theme_Translucent_NoTitleBar);
progressDialog.setMessage("Loading...");
progressDialog.show();
}
@Override
protected String doInBackground(String... params) {
try {
Thread.sleep(20000);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
if(progressDialog!=null)
progressDialog.dismiss();
}
}
}
好吧,虽然复制粘贴某些括号可能会出错。
但请确保代码运行良好,问题在于背景与加载屏幕一起加载。我了解了 get() 方法来停止正在加载的进程。但这也停止了加载栏的视图。
请帮忙。或者任何替代方式建议?
【问题讨论】:
标签: android android-asynctask get