2
我有一個刷新按鈕,我想根據情況使其可見。在asynctask之後麻煩製作menuitem
當刷新按鈕被點擊我可以把它不會有問題看不見的,但是,一旦AsyncTask
過程結束後,我不能做它再次可見。我無法將MenuItem
的值傳遞迴AsyncTask
。
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getSupportMenuInflater().inflate(R.menu.refresh_action_provider, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.menu_refresh:
item.setVisible(false); //hide refresh button
setSupportProgressBarIndeterminateVisibility(true);
Toast.makeText(getApplicationContext(), "REFRESH CLiCKED", Toast.LENGTH_SHORT).show();
new DownloadNewsTask().execute();
return true;
}
return false;
}
它很好地工作,謝謝。但'onCreate'還有另外一個問題,我也叫'new DownloadNewsTask()。execute();'現在沒有'item',它不能再觸發了。可能使菜單項全局? – Eric
我認爲最好儘量避免使用全球性的東西......但如果在您的Activity類中定義了「DownloadNewsTask」,那麼您可以將此項作爲活動類的成員並從您的內部類訪問它(例如您的任務) – fiddler
你能不能示範一個例子? – Eric