Android TV App - 无法使用遥控器选择列表项
Posted
技术标签:
【中文标题】Android TV App - 无法使用遥控器选择列表项【英文标题】:Android TV App - unable to select list item with remote 【发布时间】:2016-04-15 17:11:29 【问题描述】:目前我正在开发 android TV 应用程序。
我使用过 Android Lean 支持库。
我添加了一个ListView
,但我无法使用真实设备的遥控器从listView 中选择任何项目。但是,我可以借助鼠标在我的 Android 虚拟设备上选择 listView 项。
这是我的 listView 示例代码:
customViewOrders = new CustomViewOrders(getActivity().getBaseContext(), arrayViewOrders);
lstViewOrder.setAdapter(customViewOrders);
这里,arrayViewOrders
是我的 ArrayList,其中包含从 JSON 网络服务接收到的数据。
这是我的 JSON 响应:
"order":[
"0":"13829CF",
"gen_id":"13829CF",
"1":"17534CF",
"2":"Complete",
"ord_status":"Complete",
"3":"Online Preview",
"sta_name":"Online Preview",
"4":"2015-10-27 00:00:00",
"image":"cinereel",
"placed_from":"web"
]
我还在 AndroidManifest.xml 文件中添加了以下功能:
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
<uses-feature
android:name="android.hardware.faketouch"
android:required="true" />
所以,我的问题是:如何在遥控器的帮助下在真实设备中选择任何东西(即列表项、按钮)?
【问题讨论】:
请添加您收到的 JSON 响应.. @Kamal - 我添加了 JSON 响应。 【参考方案1】:经过大量的研发,我终于得到了解决方案。
这是我使用 Android TV 遥控器进行定向导航的解决方案。
首先,您必须关注以下任何一项(即Button
、TextView
等)。
此外,您还必须应用其nextFocusDown
、nextFocusLeft
、nextFocusRight
和nextFocusUp
属性,以便在您单击电视遥控器导航按钮时触发其相关事件。
<Button
android:id="@+id/btnSignout"
android:layout_
android:layout_
android:layout_below="@+id/tvUserName"
android:layout_marginTop="2dp"
android:layout_toLeftOf="@+id/ivUser"
android:
android:nextFocusRight="@+id/ivUser" <!-- On click of right arrow button, focus will be move to ivUser id -->
android:nextFocusUp="@+id/tvUserName" <!-- On click of up arrow button, focus will be move to tvUserName id -->
android:text="@string/signout"
android:textAppearance="?android:textAppearanceMedium">
<requestFocus></requestFocus>
</Button>
更多信息可以参考:
-
Android User Interface Design: The Basics of Control Focus Order,
Creating TV Navigation。
【讨论】:
以上是关于Android TV App - 无法使用遥控器选择列表项的主要内容,如果未能解决你的问题,请参考以下文章