accordingleyアイコンを変更することができるはずですway:
アクションバーのメニューでは、ログインとログアウトの両方の項目が既にあります(アイテムにIDを簡単に割り当てることができるように、コードに作成するのではなくXMLに入れておくことをおすすめします)。その後、メニューを作成するときにメニューの参照を保持するだけで、後で変更することができます。
あなたはユーザーがログインしている見つけるその後
Menu myActionBarMenu;
/**
* Creates action bar items.
*/
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menuNameHere, menu);
myActionBarMenu = menu;
}
は、このような偽の項目に、ログの可視性を設定します。
myActionBarMenu.findItem(R.id.logInAction).setVisible(false);
myActionBarMenu.findItem(R.id.logOutAction).setVisible(true);
ユーザーがログアウトした場合には、視認性を逆に
。 onCreateOptionsMenu()が既に呼び出されているように、Webサービスが呼び出されている間、
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/logInAction"
android:showAsAction="ifRoom"
android:title="Log In"/>
<item
android:id="@+id/logOutAction"
android:showAsAction="ifRoom"
android:title="Log Out"/>
</menu>
フォームが表示されます。
この
は、XMLメニューがどのように見えるかだろう。アプリケーションのライフサイクル中の任意の時点でアイコンを変更できるようにする必要があります –ああ。私は誤解しました。 ActionBarに互換性ライブラリを使用していますか?もしそうなら、私はinvalidateOptionsMenu()がFragmentActivityを拡張すると利用できると思います。 – Tony
私はFragmentActivityを拡張しています。 invalidateOptionsMenu()を呼び出すと、NoSuchMethodErrorが返されます –