在findViewById()下仅显示一个ImageButton

时间:2018-07-13 04:39:24

标签: java android xml android-layout android-studio

我正在使用ImageButtons进行项目导航到不同页面。每当我尝试使用findViewById(R.id.HomeButton)来引用主页按钮时,它都会起作用,但是当我尝试对其他任何按钮进行操作时,ID永远不会显示。 HomeButton是唯一有效的方法。有解决方案吗?

<ImageButton
    android:id="@+id/HomeButton"
    android:layout_width="70dp"
    android:layout_height="70dp"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="10dp"
    android:src="@drawable/homebutton"
    android:contentDescription="@string/home"
    android:scaleType="fitCenter"
    android:background="#44ba52"
    android:layout_marginLeft="30dp"
    android:layout_marginStart="30dp"
    android:layout_alignParentStart="true"
    android:layout_alignParentLeft="true"/>

<ImageButton
    android:id="@+id/MapButton"
    android:layout_width="70dp"
    android:layout_height="70dp"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="10dp"
    android:src="@drawable/mapbutton"
    android:contentDescription="@string/map"
    android:scaleType="fitCenter"
    android:background="#44ba52"
    android:layout_toEndOf="@+id/HomeButton"
    android:layout_toRightOf="@+id/HomeButton"
    android:layout_toLeftOf="@+id/MenuButton"
    android:layout_toStartOf="@+id/MenuButton"/>

<ImageButton
    android:id="@+id/MenuButton"
    android:layout_width="70dp"
    android:layout_height="70dp"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="10dp"
    android:src="@drawable/menubutton"
    android:contentDescription="@string/menu"
    android:scaleType="fitCenter"
    android:background="#44ba52"
    android:layout_marginRight="30dp"
    android:layout_marginEnd="30dp"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true"/>

2 个答案:

答案 0 :(得分:1)

选项1.重建项目。

选项2。使用ButterKnife库而不是findViewById。

1。)导入该库。 实现'com.jakewharton:butterknife:8.8.1' subscriptionProcessor'com.jakewharton:butterknife-compiler:8.8.1'

2)@BindView(R.id.HomeButton)     ImageButton homebtn;

@BindView(R.id.MenuButton)
ImageButton menubtn;

@BindView(R.id.MapButton)
ImageButton mapbtn;

之后,将imageButton绑定到oncreate()方法中...  3)ButterKnife.bind(this);

答案 1 :(得分:0)

尝试清理->重建并失效重新启动系统。所有按钮都应充当HomeButton。并确保您的应用程序没有任何类型的错误。