package com.example.fragment;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.view.MenuItemCompat;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import com.example.R;
public class ExampleFragment extends Fragment
{
private boolean mProgress = false;
private View mRootView;
private MenuItem mRefreshMenuItem;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
mRootView = inflater.inflate(R.layout.fragment_example, container, false);
return mRootView;
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
{
// action bar menu
super.onCreateOptionsMenu(menu, inflater);
// TODO
// reference to refresh menu item
mRefreshMenuItem = menu.findItem(R.id.menu_fragment_example_refresh);
// progress in action bar
showProgress(mProgress);
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
// action bar menu behavior
switch(item.getItemId())
{
// TODO
case R.id.menu_fragment_example_refresh:
refreshData();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
public void refreshData()
{
// TODO
}
private void showProgress(boolean visible)
{
// show action view progress
if(mRefreshMenuItem != null)
{
if(visible)
{
LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.ab_action_refresh, null);
MenuItemCompat.setActionView(mRefreshMenuItem, view);
}
else
{
MenuItemCompat.setActionView(mRefreshMenuItem, null);
}
}
mProgress = visible;
}
}