我不明白为什么当我在textView上添加requestFocus时,我需要定义layout_height和layout_width,但没有它我不会。
这是我没有requestFocus的XML。
<TextView
android:id="@+id/txtRespiratory"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:text="Respiratory Rate"
android:textAppearance="@android:style/TextAppearance.Material.Large"
app:layout_constraintStart_toEndOf="@+id/btnRespiratory"
app:layout_constraintTop_toTopOf="@+id/btnRespiratory"/>
但是,当我修改为将焦点添加到TextView时,它要求layout_height和layout_width并崩溃。这是带有requestFocus的新代码。
<TextView>
android:id="@+id/txtRespiratory"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:text="Respiratory Rate"
android:textAppearance="@android:style/TextAppearance.Material.Large"
app:layout_constraintStart_toEndOf="@+id/btnRespiratory"
app:layout_constraintTop_toTopOf="@+id/btnRespiratory"
<requestFocus/>
</TextView>
有人可以向我解释为什么在要求焦点时我必须设置高度和宽度吗?
谢谢!
答案 0 :(得分:0)
在我看来,你在另一个地方使用了角括号(&gt;)。尝试使用以下内容:
<TextView
android:id="@+id/txtRespiratory"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:text="Respiratory Rate"
android:textAppearance="@android:style/TextAppearance.Material.Large"
app:layout_constraintStart_toEndOf="@+id/btnRespiratory"
app:layout_constraintTop_toTopOf="@+id/btnRespiratory">
<requestFocus/>
</TextView>