gpt4 book ai didi

android - 无法控制复合 View 中的焦点流

转载 作者:太空狗 更新时间:2023-10-29 12:47:53 25 4
gpt4 key购买 nike

晚上好(来自瑞典)!我正在构建一个基于几个复合 View (包含一个或多个 View 的扩展布局)的 GUI,但我似乎无法按顺序获得焦点流。我主要想让键盘上的“下一步”按钮正常工作。目前按下它除了播放点击声音外什么都不做。我试过:

android:nextFocusRight="@+id/ipDecimal"
android:nextFocusDown="@+id/ipDecimal"

和设置(在这里和那里)

android:focusable="true"

我做错了什么?我目前的目标是让焦点从第一个 IntegerPicker 流向第二个 IntegerPicker。

这是我目前正在尝试使用的 2 个组件的布局(它们都包含一个扩展的 FrameLayout):

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:focusable="true" >

<com.SverkerSbrg.Spendo.Graphics.InsertTransaction.IntegerPicker
android:id="@+id/ipInteger"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
custom:NumberSize="40"
custom:TextAlignRight="true"
android:focusable="true"
custom:maxNrOfDigits="3"
android:nextFocusRight="@+id/ipDecimal"
android:nextFocusDown="@+id/ipDecimal">
<requestFocus />
</com.SverkerSbrg.Spendo.Graphics.InsertTransaction.IntegerPicker>

<TextView
android:id="@+id/tvDot"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:text="."
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="30sp"
tools:ignore="HardcodedText" />

<com.SverkerSbrg.Spendo.Graphics.InsertTransaction.IntegerPicker
android:id="@+id/ipDecimal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:focusable="true"
custom:NumberSize="20"
custom:TextAlignRight="false"
custom:maxNrOfDigits="2" >
</com.SverkerSbrg.Spendo.Graphics.InsertTransaction.IntegerPicker>

<TextView
android:id="@+id/tvSpace"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"/>

<com.SverkerSbrg.Spendo.Graphics.InsertTransaction.CurrencyPicker
android:id="@+id/icCurrency"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
custom:textSize="20"
android:layout_gravity="bottom|center_horizontal">
</com.SverkerSbrg.Spendo.Graphics.InsertTransaction.CurrencyPicker>

</merge>

.

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="true"
>

<EditText
android:id="@+id/etInteger"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:inputType="number"
android:background="#00000000"
android:selectAllOnFocus="true"
android:focusable="true"
android:hint="00">
</EditText>
</merge>

最佳答案

在尝试不同的修复程序(例如不可见的 EditTexts 将焦点传递到正确的 View )后,经过数小时的挫败。

如果发现我可以获得所需的结果,请购买从键盘上的下一个按钮捕获事件。

这是通过 OnEditorActionListener 完成的。

关于android - 无法控制复合 View 中的焦点流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16047133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com