ネットワークに到達できない場合、フラグメント内でアクションバーに更新ボタンを追加する必要があります。
例えば:
private void beginRetriveData() {
final StringBuilder Request = "some_url_here"
if(!isNetworkAvailable()) {
Toast.makeText(getSherlockActivity(), "No active internet connection", Toast.LENGTH_LONG).show();
// I NEED TO ADD REFRESH BUTTON TO ACTIONBAR
} else {
//AsyncTasc here
}
}
それを行う最良の方法はどれですか?
私は次のことを試しました:
public MenuItem mRefreshMenuItem;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar
getSupportMenuInflater().inflate(R.menu.main, menu);
mRefreshMenuItem = menu.findItem(R.id.navigation_refresh);
mRefreshMenuItem.setVisible(false);
return true;
}
@Override
public void onNetworkUnavailable()
{
mRefreshMenuItem.setVisible(true); //ERROR HERE
}
次に、フラグメントで次のように呼び出しました。
if(getActivity() instanceof FragmentsHolderActivity){
FragmentsHolderActivity myactivity = (FragmentsHolderActivity) activity;
myactivity.onNetworkUnavailable();
}
しかし、 onNetworkUnavailable() を呼び出すと、 NullPointerException が発生しました。