我是android新手。我刚开发了一个应用程序,它在tableview上显示数据库中的一些数据。获取数据需要一些时间。那时它应该显示Loadind Spinner。取出后,它应该消失。
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
ProgressDialog pd=ProgressDialog.show(result.this, "Retreiving", "Please Wait....");
butt();
if(pd.isShowing())
{
pd.dismiss();
}
else
{
pd.show();
}
}
});
这是按钮事件 - 它正在工作,但在获取后它可以工作。
答案 0 :(得分:1)
在你的Activity中创建一个Asynctask:
private class Load_data extends AsyncTask<Void, Void, Void> {
ProgressDialog pd;
@Override
protected void onPreExecute() {
super.onPreExecute();
pd= ProgressDialog.show(result.this, "Retreiving", "Please Wait....");
}
protected Void doInBackground(Void... param) {
publishProgress(param);
butt();
return null;
}
protected void onPostExecute(String arg) {
pd.dismiss();
}
}
现在,当您点击按钮时调用您的Asynctask:
b.setOnClickListener(new View.OnClickListener() {
new Load_data().execute();
});
您可以在此处查看Asynctask的文档:http://developer.android.com/reference/android/os/AsyncTask.html
希望有所帮助