1414
1515import com .actionbarsherlock .app .SherlockFragment ;
1616import com .actionbarsherlock .app .SherlockFragmentActivity ;
17+ import com .actionbarsherlock .view .Menu ;
1718
1819import android .content .ContentResolver ;
1920import android .content .Intent ;
@@ -49,6 +50,7 @@ public class TransactionList extends SherlockFragment implements LoaderManager.L
4950 private Account mAccount ;
5051 private TextView balanceTv ;
5152 private View bottomLine ;
53+ private boolean hasItems ;
5254
5355 public static TransactionList newInstance (long accountId ) {
5456
@@ -61,6 +63,7 @@ public static TransactionList newInstance(long accountId) {
6163 @ Override
6264 public void onCreate (Bundle savedInstanceState ) {
6365 super .onCreate (savedInstanceState );
66+ setHasOptionsMenu (true );
6467 accountId = getArguments ().getLong ("account_id" );
6568 mAccount = Account .getInstanceFromDb (getArguments ().getLong ("account_id" ));
6669 tObserver = new TransactionsObserver (new Handler ());
@@ -87,6 +90,11 @@ public void onDestroy() {
8790 // Do Nothing. Observer has already been unregistered.
8891 }
8992 }
93+ @ Override
94+ public void onPrepareOptionsMenu (Menu menu ) {
95+ if (isVisible ())
96+ menu .findItem (R .id .RESET_ACCOUNT_COMMAND ).setVisible (hasItems );
97+ }
9098
9199 @ Override
92100 public View onCreateView (LayoutInflater inflater , ViewGroup container , Bundle savedInstanceState ) {
@@ -214,11 +222,17 @@ public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) {
214222 @ Override
215223 public void onLoadFinished (Loader <Cursor > arg0 , Cursor c ) {
216224 mAdapter .swapCursor (c );
225+ hasItems = c .getCount ()>0 ;
226+ if (isVisible ())
227+ getSherlockActivity ().supportInvalidateOptionsMenu ();
217228 }
218229
219230 @ Override
220231 public void onLoaderReset (Loader <Cursor > arg0 ) {
221232 mAdapter .swapCursor (null );
233+ hasItems = false ;
234+ if (isVisible ())
235+ getSherlockActivity ().supportInvalidateOptionsMenu ();
222236 }
223237 class TransactionsObserver extends ContentObserver {
224238 public TransactionsObserver (Handler handler ) {
0 commit comments