【发布时间】:2014-07-21 16:58:21
【问题描述】:
我需要根据 API 调用响应启用和禁用菜单项,并且每次菜单出现时都必须调用它。
我需要异步任务,因为我必须显示进度条
@Override
public boolean onPrepareOptionsMenu (Menu menu) {
handleMenuItems(menu)
}
private void handleMenuItems(menu)
{
new AsyncTask<Void, Void, Void>(){
@Override
protected Void doInBackground(Void... params) {
//API call
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
if (progressDialog != null)
progressDialog.hide();
//necessary menu items are enabled and disabled
super.onPrepareOptionsMenu(menu);
}
@Override
protected void onPreExecute() {
if (progressDialog != null){
progressDialog.setMessage("Checking");
progressDialog.show();
}
super.onPreExecute();
}
}.execute();
}
每当我触摸选项菜单时,都会调用 onPrepareOptionsMenu 并且不会出现选项菜单,然后当我再次按下它时不会调用 onPrepareOptionsMenu 并且会出现选项菜单。
我希望每次触摸选项菜单时都会调用 api 并显示菜单。
【问题讨论】:
标签: android-asynctask android-fragmentactivity android-optionsmenu