Art*_*uto 6 android web-applications webview actionbarsherlock
我在这里遇到了很大的错误.我正在尝试使用supportInvalidateOptionsMenu()更改操作栏菜单; 但是当执行该函数时,应用程序关闭,没有错误.
奇怪的是,一切都在我的Galaxy Nexus(4.2.2)上正常工作,但不能在我朋友的手机(android 4.0.3)中工作,也不适用于我的Android 2.1模拟器
这是我的代码:
protected void onCreate(Bundle savedInstanceState) {
...
actionbar = getSupportActionBar();
...
myWebView = (WebView) findViewById(R.id.webview);
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.addJavascriptInterface(new WebAppInterface(this), "Android");
myWebView.loadUrl(getString(R.string.site_load));
...
}
public class WebAppInterface {
SherlockActivity mActivity;
WebAppInterface(SherlockActivity c) {mActivity = c;}
public void setrefreshon() {showRefresh = true; mActivity.supportInvalidateOptionsMenu();}
}
Run Code Online (Sandbox Code Playgroud)
有人能帮我吗?:/
Del*_*yan 20
这很可能是一个线程问题.您应该看到有关主线程之外的UI访问的记录错误.也许你是在过滤它们?查看完整日志,而不仅仅是包的日志.
注意:绑定到JavaScript的对象在另一个线程中运行,而不是在构造它的线程中运行.
尝试:
mActivity.runOnUiThread(new Runnable(){
@Override
public void run(){
mActivity.supportInvalidateOptionsMenu();
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3406 次 |
| 最近记录: |