【发布时间】:2013-11-03 21:22:38
【问题描述】:
如果网络无法访问,我需要在我的 Fragment 中向我的操作栏添加刷新按钮。
例如:
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
}
然后在 Fragment 中我调用了:
if(getActivity() instanceof FragmentsHolderActivity){
FragmentsHolderActivity myactivity = (FragmentsHolderActivity) activity;
myactivity.onNetworkUnavailable();
}
但是当我调用 onNetworkUnavailable() 时,出现了 NullPointerException 。
【问题讨论】:
-
为您的活动创建回调,这是一个示例:stackoverflow.com/questions/14213947/…
标签: android android-fragments android-actionbar android-fragmentactivity