2

ソースでテクノロジーDroidGapを使用しています

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

}
}

"super.loadUrl(super.loadUrl(" file:///android_asset/www/index.html ");"の後、アクティビティは使用されません。私は完全にWebを使用します。

*欲しい...現在開いているWebページに関係なく、画面をクリックすると、このリスナーが起動します*

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

        public void onClick(View arg0) {

        }
    };

助けてください。

4

2 に答える 2

1

1 つの外部 JavaScript ファイルを作成し、その中に次のコードを記述します。

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

その外部jsファイルをすべてのhtmlページに含めます。

この後、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");
}
}
于 2012-11-21T10:34:01.543 に答える
0
@Override
    public boolean dispatchTouchEvent(MotionEvent e) {
        super.dispatchTouchEvent(e);

        return true;
    }
于 2012-11-21T10:25:59.557 に答える