【问题标题】:how to attach a listener to my DroidGap?如何将监听器附加到我的 DroidGap?
【发布时间】:2012-11-21 08:46:23
【问题描述】:

我在源代码中使用技术 DroidGap

public class MainActivity extends DroidGap {
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.loadUrl("file:///android_asset/www/index.html");

}
}

Activity 没有使用,在 "super.loadUrl(super.loadUrl("file:///android_asset/www/index.html");" 之后我完全使用网络

*我想要...无论现在打开什么网页,当我点击屏幕时,启动这个监听器 *

View.OnClickListener activityLauncher = new View.OnClickListener() {

        public void onClick(View arg0) {

        }
    };

请帮忙。

【问题讨论】:

  • 您希望该事件在本机代码中还是在 javascript 中?

标签: android cordova listener


【解决方案1】:

创建一个外部javascript文件,在里面写入如下代码:

&ltscript>
document.getElementByTagName("body").addEventListener('touchstart',touchPagePressed);// you can use 'onclick' also
function touchPagePressed()
{
   MyAndroid.performClick();
   alert(touchPagePressed');
}
&lt/script>

在每个 html 页面中包含该外部 js 文件。

在此之后,在你的 onCreate 方法中编写以下代码:

public class MainActivity extends DroidGap {
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.loadUrl("file:///android_asset/www/index.html");

        WebView webView = (WebView) findViewById(R.id.webView);
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webView.addJavascriptInterface(new Object()
             {
                public void performClick()
                {
                   // Deal with a click on the body tag
                }
             },"MyAndroid");
}
}

【讨论】:

    【解决方案2】:
    @Override
        public boolean dispatchTouchEvent(MotionEvent e) {
            super.dispatchTouchEvent(e);
    
            return true;
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-09
      • 1970-01-01
      • 2011-05-03
      相关资源
      最近更新 更多