0

我最近刚刚构建了一个 android 平板电脑应用程序(现在希望将其移植到 Google TV),它与 Facebook Android Scrumptious App 教程非常相似。特别是该教程的“显示朋友”部分中的问题:http: //developers.facebook.com/docs/tutorials/androidsdk/3.0/scrumptious/show-friends/

在平板电脑上,当我触摸 ListView 的 Select a Friend 部分时,它会响应 onClick。但是在使用 Dpad 遥控器的 Google TV 上,这不起作用。特别是,(在做了一些日志之后)onClick 永远不会被调用。我已经编写了教程中未调用 onClick 的部分代码。

总结一下:这个 onClick 在 android 平板电脑和移动设备上会被调用。但在 Google TV 上并使用遥控器上的 Enter 按钮单击时不会被调用。

任何有关在 Google TV 平台上调用此 onClick 的帮助都会非常有帮助。

    private class PeopleListElement extends BaseListElement {

public PeopleListElement(int requestCode) {
    super(getActivity().getResources().getDrawable(R.drawable.action_people),
          getActivity().getResources().getString(R.string.action_people),
          getActivity().getResources().getString(R.string.action_people_default),
          requestCode);
}

@Override
protected View.OnClickListener getOnClickListener() {
    return new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            // Supposed to do something here BUT ON GOOGLE TV DOES NOT GET CALLED
        }
    };
}
4

2 回答 2

0

当您使用触摸板指针单击项目时会发生什么?我怀疑它可能与布局层次结构有关,并且更高层的东西正在抓取 dpad 事件。相反,可能是 dpad 焦点不在您认为的元素上。

于 2013-04-04T20:55:19.653 回答
0

各种 Google TV 设备之间存在一些错误,它们没有为 OK/Enter 或 D-pad 中心发送正确的键代码。您可能想要添加一个关键侦听器以查看哪些代码正在发送到您的视图。

于 2013-04-05T02:57:57.483 回答