在Android Studio中更改另一个menuitem的图标

时间:2016-05-13 12:21:48

标签: java android android-studio

我在ActionBar中有一个菜单。 “gecerlidil”是菜单项,“ingilizce”和“turkce”是它的子菜单。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/gecerlidil"
        android:icon="@drawable/ing"
        android:title="ingilizce"
        app:showAsAction="always">
    <menu>
        <item android:id="@+id/ingilizce"
            android:title="EN"
            android:icon="@drawable/ing"/>
        <item android:id="@+id/turkce"
            android:title="TR"
            android:icon="@drawable/tur"/>
    </menu>
        </item>
</menu>

当我点击ingilizce菜单项或turkce菜单项gecerlidil时,菜单图标会发生变化但我无法成功。我想我会在onOptionsItemSelected函数中完成它。 谢谢你的帮助

2 个答案:

答案 0 :(得分:0)

动作栏实际上已在Android中弃用,所以我无法帮助你......

但我建议您使用工具栏,就像操作栏,但您可以这样做

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_main"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:fitsSystemWindows="true"
android:minHeight="?attr/actionBarSize">

<ImageView
    android:layout_width="156dp"
    android:layout_height="20dp"
    android:src="@drawable/icon"/>

</android.support.v7.widget.Toolbar>

您将使用菜单xml和onOptionsItemSelected()

更改此ImageView或ImageButton

我希望这会对你有所帮助

答案 1 :(得分:0)

声明全局变量private Menu menu;

在你的onCreateOptionsMenu()

this.menu = menu;

然后在OptionsItemSelected中 menu.getItem(0).setIcon(ResourcesCompat.getDrawable(getResources(),R.drawable.ic‌​_launcher,null));