【发布时间】:2012-05-11 05:31:32
【问题描述】:
我在 Android 模拟器(jQuery Mobile + PhoneGap,Android 4)中看到以下拙劣的 listview:
第一次显示页面时,列表按预期显示,但随后内容立即隐藏。触摸显示屏几次更新为:
列表本身并没有什么异常,即:
<div data-role="page" class="type-home" id="dine-around-list" data-add-back-btn="true">
<div data-role="header" data-position="fixed" data-theme="e">
<h1>Venue</h1>
</div>
<div data-role="content" class="content">
<h3>Restaurants</h3>
<ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="b">
<li><a href="#dinearound1">EDGE Restaurant at The Four Seasons Denver</a></li>
<li><a href="#dinearound3">The Ninth Door</a></li>
<li><a href="#dinearound4">Bistro Vendôme</a></li>
<li><a href="#dinearound5">JAX Fish House & Oyster Bar</a></li>
<li><a href="#dinearound6">Venice Ristorante & Wine Bar</a></li>
<li><a href="#dinearound7">The Kitchen</a></li>
<li><a href="#dinearound8">Capital Grille</a></li>
<li><a href="#dinearound9">ChoLon</a></li>
<li><a href="#dinearound10">Prima Ristorante</a></li>
<li><a href="#dinearound11">Osteria Marco</a></li>
</ul>
</div>
</div>
知道为什么会发生这种情况吗?我只在 Android Emulator 中的 Android 4 上看到过这个,在任何其他 Android 版本上都没有。
更新:一般建议是在清单中激活硬件加速,即:
<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:hardwareAccelerated="true" >
您也可以在代码中执行此操作,即:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH ){
getWindow().addFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
}
不过没什么区别。
【问题讨论】:
-
当出现空白屏幕时,只需检查 logcat...您是否收到如下错误消息...在没有当前上下文的情况下调用 OpenGL ES API(每个线程记录一次)
-
几天前我遇到了同样的问题......当我在本地浏览器中运行 jquery 移动代码时它工作正常,但是当我在 android 模拟器中运行它时它会给出黑色白色页面转换时的页面。所以我通过在我的应用程序中导入 gwt .jar 文件解决了这个问题,现在我看到我的应用程序在我的模拟器中工作。
-
Canconfirm the OpenGL ES API error message... 也看到了这个问题:stackoverflow.com/questions/10026445/…
-
我无法让此处发布的任何解决方案发挥作用 - 我找到了一篇有解决方案的博文,请参阅我的其他答案:stackoverflow.com/a/12749862/561545
标签: android jquery-mobile cordova android-emulator