这个问题一直困扰着我多年,我似乎无法解决它或完全本地化问题的根源(虽然有时我可以通过在连接到Eclipse时允许手机待机来强制它,但有时这不会甚至造成问题).
我们来看看这些步骤吧.
我连接我的设备,它弹出,似乎工作正常:
我双击它以确保LogCat正在记录它,在这一点上发生了两件事中的一件:
它似乎工作,我交换到LogCat窗口,它通过一堆文本sliiides然后变白,我交换回设备,看到
设备立即脱机
现在如果我离开它一段时间并在Eclipse周围做随机事情,离线设备的数量会慢慢增加(它们都具有相同的ID,我的):
有用的东西:
我已经谷歌搜索并查看了有关此问题的其他问题,并且只设法找到一些"指南",告诉我重新启动adb服务器.我通过使用命令完成了这个:
adb kill-server
adb start-server
Run Code Online (Sandbox Code Playgroud)
问题是,这只是很少修复它.有时完整的PC重启会修复它,但并不总是......
此外,当手机插上电源时,请关闭手机上的待机模式.对我来说,这可以通过以下方式实现
有没有人有这个真正的解决方案?我已经尝试了大部分我能在Google上找到的并且运气不好而且它真的开始惹恼我了.
编辑:神圣的废话,这太烦人了!编辑2:尽快为此添加赏金.
编辑3:可能与它通过USB集线器连接的事实有关,因为我们的机器位于另一个房间,以保持我们办公室的噪音和热量水平下降.我已经足够稳定地部署应用程序并快速测试,但它有时仍会脱机.哦,好吧,现在完成我的项目.
我在这个特定问题上找到的最好的(尽管我不使用图库):ScrollView和Gallery干扰 - 虽然没有给出具体的答案.显然,我的实现不使用Gallery.
跳转到有趣部分的下一个大胆部分
因此,我的Fling/Swipe/Flick /无论您想要在我的应用程序上将其称为工作片段.灵感来自几个不同的地方,其中一些是Stack Overflow上的"基本手势检测"(网格布局上的手势检测),Code Shogun(http://www.codeshogun.com/blog/2009/04/16 /如何实现-swipe-action-in-android /)和开发Android(http://developingandroid.blogspot.com/2009/09/implementing-swipe-gesture.html),但我不使用我的应用程序中的ViewFlipper.当发生甩尾时,我只需更换标签(在末端缠绕).
现在,我的一些标签包含ScrollViews.这些ScrollViews显然会响应向上/向下滚动,以便让您查看其中的所有数据,这并不奇怪.问题是看起来这些ScrollViews的"滚动"功能会覆盖我的手势.我不能在ScrollView内部滚动(滚动得很好),但它在它们之外完美无缺(在同一个选项卡上,在TableRow等其他视图上).
我快速浏览了http://blog.velir.com/index.php/2010/11/17/android-snapping-horizontal-scroll/,它提供了一种实现HorizontalScrollView的方法.但它仍然通过扩展SimpleOnGestureListener(并覆盖onFling)的类来处理手势,这与我的实现相同(这使我相信它不会真正有用).来自Google的ScrollView的源代码:http://google.com/codesearch/p? hl = en#uX1GffpyOZk/core/java/android/widget/ScrollView.java&d = 3
有没有办法让我的Swipe和ScrollView的实现毫不费力地协同工作?
我想这就是问题所在.ScrollView.java还使用一个名为onTouchEvent的方法和onTouchEvent for Activity状态的文档:
"当触摸屏事件未被其下的任何视图处理时调用.这对于处理在窗口范围之外发生的触摸事件非常有用,其中没有视图可以接收它."
所以ScrollView会"覆盖"它 - 我该怎么办?有没有办法确保两者都被检查?我的onTouchEvent在ScrollView处理onTouchEvent时没有被击中:
@Override
/** Used for swipe gestures */
public boolean onTouchEvent(MotionEvent event) {
if (gestureDetector.onTouchEvent(event))
return true;
else
return false;
}
Run Code Online (Sandbox Code Playgroud)
下面是更一般的源代码,它可能不是很重要.我的Tabs类中的gestureDetector及其关联的侦听器:
// Gestures
gestureDetector = new GestureDetector(new MyGestureDetector());
gestureListener = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) …
Run Code Online (Sandbox Code Playgroud)