В моем фрагменте мне нужно добавить кнопку обновления на панель действий, если сеть недоступна.
Например:
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.