- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个小问题。
我正在尝试使用 ID ongoing_call_layout
进行 BindView
。我有那个 id,它存在并且它是 xml 中的 ConstraintLayout
对象。运行程序时,它的行为就像 id“ongoing_call_layout”不存在一样。
我尝试清理和重建项目,并使用 findViewById
而不是 BindView
,但它仍然表示该 id 不存在。
代码本身以粗体显示(AndroidStudio 知道 id 在哪里)。
下面是相关代码
这是我的OngoingCallActivity.java
(错误来自哪里):
@BindView(R.id.ongoing_call_layout) ConstraintLayout mOngoingCallLayout;
.
.
.
ButterKnife.bind(this);
.
.
错误:
Unable to start activity ComponentInfo{com.chooloo.www.callmanager/com.chooloo.www.callmanager.ui.activity.OngoingCallActivity}: java.lang.IllegalStateException: Required view 'ongoing_call_layout' with ID 2131362055 for field 'mOngoingCallLayout' was not found. If this view is optional add '@Nullable' (fields) or '@Optional' (methods) annotation.
这是我的on_going_call.xml
(ID 的来源):
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/ongoing_call_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layoutDirection="ltr"
tools:context=".ui.activity.OngoingCallActivity">
<!-- Call Timer -->
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guide_status_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_begin="24dp" />
<TextView
android:id="@+id/text_stopwatch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/guide_status_bar"
tools:text="00:00" />
<!-- Caller Number (Temporary) -->
<!-- Caller Pic -->
<FrameLayout
android:id="@+id/frameLayout"
android:layout_width="129dp"
android:layout_height="135dp"
app:layout_constraintBottom_toTopOf="@+id/text_caller"
app:layout_constraintEnd_toEndOf="@+id/text_caller"
app:layout_constraintStart_toStartOf="@+id/text_caller"
app:layout_constraintTop_toBottomOf="@+id/text_stopwatch">
<ImageView
android:id="@+id/image_placeholder"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tint="@color/selector_button_icon"
app:srcCompat="@drawable/ic_account_circle_black_24dp" />
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/image_photo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"
app:civ_border_width="0dp" />
</FrameLayout>
<!-- Caller Name -->
<TextView
android:id="@+id/text_caller"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="10sp"
android:paddingRight="10sp"
android:textAlignment="center"
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline4"
android:textColor="?attr/iconColor"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/text_status"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
tools:text="Jesus" />
<!-- Call Status -->
<TextView
android:id="@+id/text_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
android:textAppearance="@style/TextAppearance.MaterialComponents.Subtitle1"
android:textColor="?attr/colorAccent"
app:layout_constraintBottom_toTopOf="@+id/guide_eye_level"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="@+id/text_caller"
tools:text="@string/status_call_incoming" />
<!-- Hold Button -->
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guide_eye_level"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.44" />
<ImageView
android:id="@+id/button_hold"
android:layout_width="@dimen/flat_button_size"
android:layout_height="62dp"
android:layout_marginStart="16dp"
android:layout_marginTop="120dp"
android:layout_marginEnd="16dp"
android:layout_weight="1"
android:background="@drawable/ripple_oval"
android:clickable="true"
android:focusable="true"
android:padding="@dimen/flat_button_padding"
android:tint="@color/selector_button_icon"
android:visibility="invisible"
app:layout_constraintBottom_toTopOf="@+id/button_add_call"
app:layout_constraintEnd_toStartOf="@+id/button_speaker"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/button_mute"
app:layout_constraintTop_toTopOf="@+id/guide_eye_level"
app:layout_constraintVertical_bias="0.32999998"
app:layout_constraintVertical_chainStyle="packed"
app:srcCompat="@drawable/ic_pause_black_24dp"
tools:visibility="visible" />
<!-- Mute Button -->
<ImageView
android:id="@+id/button_mute"
android:layout_width="@dimen/flat_button_size"
android:layout_height="@dimen/flat_button_size"
android:layout_marginEnd="16dp"
android:layout_weight="1"
android:background="@drawable/ripple_oval"
android:clickable="true"
android:focusable="true"
android:padding="@dimen/flat_button_padding"
android:tint="@color/selector_button_icon"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="@+id/button_hold"
app:layout_constraintEnd_toStartOf="@+id/button_hold"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/button_hold"
app:srcCompat="@drawable/ic_mic_off_black_24dp"
tools:visibility="visible" />
<!-- Speaker Button -->
<ImageView
android:id="@+id/button_speaker"
android:layout_width="@dimen/flat_button_size"
android:layout_height="@dimen/flat_button_size"
android:layout_marginStart="16dp"
android:layout_weight="1"
android:background="@drawable/ripple_oval"
android:clickable="true"
android:focusable="true"
android:padding="@dimen/flat_button_padding"
android:tint="@color/selector_button_icon"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="@+id/button_hold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/button_hold"
app:layout_constraintTop_toTopOf="@+id/button_hold"
app:srcCompat="@drawable/ic_volume_up_black_24dp"
tools:visibility="visible" />
<!-- Keypad Button -->
<ImageView
android:id="@+id/button_keypad"
android:layout_width="@dimen/flat_button_size"
android:layout_height="@dimen/flat_button_size"
android:layout_marginEnd="16dp"
android:layout_weight="1"
android:background="@drawable/ripple_oval"
android:clickable="true"
android:focusable="true"
android:padding="@dimen/flat_button_padding"
android:tint="@color/selector_button_icon"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="@+id/button_add_call"
app:layout_constraintEnd_toStartOf="@+id/button_add_call"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/button_add_call"
app:srcCompat="@drawable/ic_dialpad_black_24dp"
tools:visibility="visible" />
<!-- Add Call Button -->
<ImageView
android:id="@+id/button_add_call"
android:layout_width="65dp"
android:layout_height="67dp"
android:layout_marginStart="16dp"
android:layout_marginTop="32dp"
android:background="@drawable/ripple_oval"
android:clickable="true"
android:focusable="true"
android:padding="@dimen/flat_button_padding"
android:tint="@color/selector_button_icon"
android:visibility="invisible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/button_keypad"
app:layout_constraintTop_toBottomOf="@+id/button_hold"
app:srcCompat="@drawable/ic_add_black_24dp"
tools:visibility="visible" />
<!-- Answer Button -->
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/answer_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginBottom="32dp"
android:scaleType="center"
android:src="@drawable/ic_call_black_24dp"
android:tint="@color/green_phone"
app:backgroundTint="@color/white"
app:fabCustomSize="72dp"
app:fabSize="normal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:maxImageSize="36dp" />
<!-- Reject Button -->
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/reject_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="32dp"
android:layout_marginBottom="32dp"
android:scaleType="center"
android:src="@drawable/ic_call_end_black_24dp"
android:tint="@color/red_phone"
app:backgroundTint="@color/white"
app:fabCustomSize="72dp"
app:fabSize="normal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:maxImageSize="36dp" />
<!-- Guidelines -->
</androidx.constraintlayout.widget.ConstraintLayout>
我无法声明 mOngoingCallLayout Nullable
因为它是必要的。顺便说一句,这个错误是在我从服务器合并一些代码后突然开始发生的,但与此相关的所有代码仍然是相同的。谢谢您的帮助
最佳答案
您可以尝试几种方法
您还可以尝试 ButterKnife Plugin = 设置 -> 插件 -> Android ButterKnife Zelezny;
要访问插件菜单,请将键盘光标放在 setContentView(R.layout.your_activity)
中的 Activity 名称上,然后按 ALT + INSERT
它将是最后一个或第二个最后一个选项生成 ButterKnife 注入(inject)
希望这会有所帮助
关于java - 未找到包含字段 id 的所需 View ,但 id 存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59117878/
我有一个依赖于包 B 的包 A。当包 A 中的代码运行并访问包 B 中的类时,包 B 的状态将被解析 (4),而不是 Activity (32) 和包 B 的激活器也没跑好。我认为 bundle B
这个问题在这里已经有了答案: How to remove the space between inline/inline-block elements? (41 个回答) 关闭 7 年前。
我正在尝试使用 Java OpenAL 库。我在导入名为 libsoft_oal.so 的 native 库时遇到问题。 Java OpenAL 依赖于 OpenAL 软实现。我尝试根据他们在 git
我正在尝试启动我的应用程序。是一个 unicorn +工头+sinatra的应用。 这是我的 config.ru 文件: require "rubygems" require "sinatra" Bu
我有一个下拉列表,其中包含一些从数据库表中检索的值,我想要的是当单击按钮时它应该只获得选项标签的中间值,但只有那些类名为“get_this”的选项标签并离开那些选项,如果他们没有这个类 预期输出:值
我有一个index.php文件,需要一个通用的head.php文件,head.php文件中有几个Javascript文件,当这样尝试时,代码在源代码中看起来很好,但文件却不是实际上对文档做任何事情。
有人能帮帮我吗? 我已经像这样运行了 imsmod: $ insmod /data/mm/mmdev.ko epoll_rate=100 但是我得到一个错误: insmod: init_module
是否有键盘快捷键或插件可以在 Notepad++ 中打开 PHP 所需或包含的文件?我知道,在 Dreamweaver 中,执行此操作的命令是 Ctrl+D,但我似乎无法在 Notepad++ 中找到
我已经用 js 设置了一个显示/隐藏 div,但我很难弄清楚如何一次显示一个 div。目前发生的情况是,除非我再次单击原始链接来关闭该 div,否则每个 div 都会显示。 http://www.li
当我尝试将未分配的辅助分片分配给节点时出现错误。 { "error": { "root_cause": [ { "type": "remote_transpor
我正在构建一个 C++ 应用程序,使用 Netbeans 6.9 作为我的 IDE。我有一个 C++ 库,它是一个纯 C 库的包装器。 我已将文件正确添加到项目中(使用添加库文件选项)。这是 g++
我是一名优秀的程序员,十分优秀!