如何启用滚动关于谷歌玻璃的固件X16一simpleadapter [英] How to enable scrolling on a simpleadapter on Google Glass's firmware X16

查看:222
本文介绍了如何启用滚动关于谷歌玻璃的固件X16一simpleadapter的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

更新我的谷歌玻璃最大XE16我的列表视图,这是我用simpleadapter建成后,不能再滚动。有没有一种方法来手动启用与GDK滚动仍然还是解决这个问题?

After updating my Google Glass up to XE16 my listview, which I have built by using a simpleadapter, is not able to scroll anymore. Is there a way to manually enable scrolling nonetheless with the GDK or fix this issue?

推荐答案

我的列表视图停止滚动,同时还与X16更新。您可以通过以下操作共建滚动回:

My listview stopped scrolling as well with the X16 update. You can build scrolling back in by doing the following:

在您的活动的的onCreate 的方法,一定要:

In your activity's onCreate method, be sure to:

  1. 设置列表的选择模式
  2. 设置列表的点击属性为true。
  3. 设置列表中的 onItemClick 监听器
  4. 创建一个手势检测器(见下文)
  1. set the list's choice mode
  2. set the list's clickable property to true.
  3. set the list's onItemClick listener
  4. create a gesture detector (see below)

例如:

myListView = (ListView)findViewById(R.id.MY_LIST_VIEW);
if(myListView != null){
    myListView.setAdapter(mAdapter);
    myListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
    myListView.setClickable(true);

    myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
         public void onItemClick(AdapterView<?> parent, View view, int position, long id){
            Log.d("MY_LOG", "click at position " + position);
         }
    });
}

mGestureDetector = createGestureDetector(this);

现在,我们需要写的 createGestureDetector()拨打以上(最后一行)的新方法。基本上,你可以修改GDK文档中给出​​的code到上下滚动的基础上 SWIPE_LEFT SWIPE_RIGHT 手势。需要注意的是,在上述code,我指定我的ListView一个叫做变量 myListView 。下面是手势检测的样本方法,将滚动的基础上轻扫手势:

Now, we need to write a new method for the createGestureDetector() call above (last line). Basically, you can modify the code given in the GDK docs to scroll up and down based on SWIPE_LEFT and SWIPE_RIGHT gestures. Note that in the above code, I assigned my listView to a variable called myListView. Here's a sample method for the gesture detector that will scroll based on the swipe gestures:

private GestureDetector createGestureDetector(Context context) {
    GestureDetector gestureDetector = new GestureDetector(context);
    //Create a base listener for generic gestures
    gestureDetector.setBaseListener( new GestureDetector.BaseListener() {
        @Override
        public boolean onGesture(Gesture gesture) {
            if (gesture == Gesture.TAP) { // On Tap, generate a new number
                return true;
            } else if (gesture == Gesture.TWO_TAP) {
                // do something on two finger tap
                return true;
            } else if (gesture == Gesture.SWIPE_RIGHT) {
                // do something on right (forward) swipe
                myListView.setSelection(myListView.getSelectedItemPosition()+1);
                return true;
            } else if (gesture == Gesture.SWIPE_LEFT) {
                // do something on left (backwards) swipe
                myListView.setSelection(myListView.getSelectedItemPosition()-1);
                return true;
            }
            return false;
        }
    });
    gestureDetector.setFingerListener(new GestureDetector.FingerListener() {
        @Override
        public void onFingerCountChanged(int previousCount, int currentCount) {
          // do something on finger count changes
        }
    });
    gestureDetector.setScrollListener(new GestureDetector.ScrollListener() {
        @Override
        public boolean onScroll(float displacement, float delta, float velocity) {
            // do something on scrolling

            return false;
        }
    });
    return gestureDetector;
}

希望这有助于!

Hope this helps!

这篇关于如何启用滚动关于谷歌玻璃的固件X16一simpleadapter的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆