Android 如何在Google Glass';s固件X16
在将我的Google Glass更新到XE16之后,我的listview(我使用simpleadapter构建)无法再滚动了。有没有办法使用GDK手动启用滚动或修复此问题?我的listview在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
onCreate
方法中,请确保:
onItemClick
listenermyListView = (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;
}