Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在Google Glass';s固件X16_Android_Scroll_Google Glass_Simpleadapter_Gdk - Fatal编程技术网

Android 如何在Google Glass';s固件X16

Android 如何在Google Glass';s固件X16,android,scroll,google-glass,simpleadapter,gdk,Android,Scroll,Google Glass,Simpleadapter,Gdk,在将我的Google Glass更新到XE16之后,我的listview(我使用simpleadapter构建)无法再滚动了。有没有办法使用GDK手动启用滚动或修复此问题?我的listview在X16更新时也停止了滚动。您可以通过执行以下操作构建回滚: 在活动的onCreate方法中,请确保: 设置列表的选择模式 将列表的clickable属性设置为true 设置列表的onItemClicklistener 创建一个手势检测器(见下文) 例如: myListView = (ListView)fi

在将我的Google Glass更新到XE16之后,我的listview(我使用simpleadapter构建)无法再滚动了。有没有办法使用GDK手动启用滚动或修复此问题?

我的listview在X16更新时也停止了滚动。您可以通过执行以下操作构建回滚:

在活动的
onCreate
方法中,请确保:

  • 设置列表的选择模式
  • 将列表的clickable属性设置为true
  • 设置列表的
    onItemClick
    listener
  • 创建一个手势检测器(见下文)
  • 例如:

    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);
    

    希望这有帮助

    太棒了,非常感谢你的帮助,现在可以用了。一件事;我还需要添加这些导入“import com.google.android.glass.touchpad.signature;import com.google.android.glass.touchpad.GestureDetector;”。此问题似乎也会影响AlertDialogs-(复制到此处,以便在回答时通知所有人)我在XE16和16.1上提交了一个关于损坏的ListView滚动的问题-code.google.com/p/google glass api/issues/detail?id=484,如我在中所述,要使用ListActivity,您需要覆盖onGenericMotionEvent(MotionEvent)并将其传递给GestureDetector,如.fyi所示-我在G+上发布了一个关于Glass Dev社区中垂直列表的建议实践的问题-我在XE16和16.1上的断开的
    列表视图上提交了一个问题-
    
    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;
    }