Android 无论如何,要处理碎片,请单击“更改图像”

Android 无论如何,要处理碎片,请单击“更改图像”,android,android-fragments,Android,Android Fragments,我正在尝试构建一个应用程序,其中我有5个选项卡,每个选项卡加载它自己的特定片段,我正在寻找一种在片段之间切换时如何更改选项卡图标的方法 我试图通过在fragment类中更改图像来设置它,但当我单击其他选项卡时,它仍然保持不变,而不会更改回“非活动图像图标” 不使用操作栏,也不使用ViewPager,这5个选项卡只是可单击的图像视图,而不是TabHost 谢谢您的帮助。我假设您正在使用操作栏作为选项卡,如果没有,请参阅 您可以使用设置选项卡的图标。从片段设置选项卡图标是一个非常糟糕的主意,您应该从

我正在尝试构建一个应用程序,其中我有5个选项卡,每个选项卡加载它自己的特定片段,我正在寻找一种在片段之间切换时如何更改选项卡图标的方法

我试图通过在fragment类中更改图像来设置它,但当我单击其他选项卡时,它仍然保持不变,而不会更改回“非活动图像图标”


不使用操作栏,也不使用ViewPager,这5个选项卡只是可单击的图像视图,而不是TabHost


谢谢您的帮助。

我假设您正在使用
操作栏作为选项卡,如果没有,请参阅


您可以使用设置选项卡的图标。

从片段设置选项卡图标是一个非常糟糕的主意,您应该从活动设置图标(例如onCreate方法)。您可能需要为每个选项卡图标(选定图标和默认图标)创建选择器。请阅读有关选择器的内容:

为每个选项卡创建一个文件。例如,ic_tabs_first.xml。您有两个图标,一个是ic_tabs_first_default.png,另一个是ic_tabs_first_selected.png。 您的ic_tabs_first.xml应如下所示:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true"
          android:drawable="@drawable/ic_tabs_first_selected" /> <!-- pressed -->
     <item android:state_selected="true"
          android:drawable="@drawable/ic_tabs_first_selected" /> <!-- selected -->
     <item android:drawable="@drawable/ic_tabs_first_default" /> <!-- default -->
</selector>


我尝试了这个方法,但图标仅在按下状态下更改,但在选择它时它不会保持不变非常好的示例可能就是这个帖子问题的重复。这5个选项卡只是图像视图,可单击,而不是选项卡主机。最好的方法是使用选项卡主机,但如果需要,可以使用toogleButton(可以检查也可以不检查),而不是ImageView这里有一个非常简单和清晰的带有片段的tabsHost示例