java - findViewById() 下仅显示一个 ImageButton
问题描述
我正在使用 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"/>
解决方案
选项 1.重建您的项目。
选项 2. 使用 ButterKnife 库而不是 findViewById。
1.)导入这个库。实现 'com.jakewharton:butterknife:8.8.1' annotationProcessor '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;
之后在 oncreate() 方法中绑定 imageButton... 3) ButterKnife.bind(this);
推荐阅读
- javascript - JavaScript:跟踪本地文件
- powershell - 从 PowerShell 中的另一个 ArrayList 中删除 ArrayList 中包含的项目
- spring - Spring Boot 两种身份验证方式:结合 LDAP 和基于令牌的身份验证
- javascript - AngularJS - 如果登录成功,则在页面之间导航(使用不同的 html 页面和控制器)
- c# - 如何在WPF中双击时获取富文本框中的当前偏移位置
- java - 我如何 DRY Android 改装电话?
- docker - docker run --rm -volume E:/Randomfolder 的 Docker-compose 等效项
- php - Laravel 5 24 小时循环应用
- java - 如何在java上更新txt文件
- php - 即使在括号内,如何将 x^(...) 转换为 x^{...}?纯正则表达式可能吗?