1

このサイト、Google、および別の Android フォーラムで答えを探しましたが、機能するものが見つかりません。

Android WebView アプリに BACK キーを含めようとしています。そうしないと、BACK キーはアクティビティを終了するだけです。

私はAndroidが初めてなので、プログラミングのすべてを知りません。誰かが私を正しい方向に向けることができますか?

ありがとう!

4

3 に答える 3

4

次のようにあなたの戻るボタンをインターセプトしActivityます...

public class MyWebActivity extends Activity {

    WebView webview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // Other code here
        webview = new WebView(this);
    }

    // Other methods here

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
            webview.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
}

HelloWebViewチュートリアルのパート9で説明されています

于 2012-05-07T00:37:25.280 に答える
1

アクティビティでonbackpressedをオーバーライドします。

@Override
public void onBackPressed() {

}

バックプレスでアクティビティを閉じたくない場合は、super.onBackPressed()を削除するだけで、アクティビティを終了できず、バックプレスでアクティビティを閉じなくても正しく機能します。

于 2012-05-07T04:26:28.627 に答える
0

たとえば、Android 上の WebView で次の URL をキャッチしています。

メソッド shouldOverrideUrlLoading で:

public boolean shouldOverrideUrlLoading(WebView view, String url)
            {
                view.loadUrl(url);
                webView.getUrl();
                if( url.equals("http://any.com/url") ){
                   //Do any action
                    Toast tr =Toast.makeText(WebViewTest.this, "Test Passed", Toast.LENGTH_LONG);
                    tr.show();
                    //Go to other activity or you can put finish(); to stop the actual activity
                   //Do other action
                    Intent i1 = new Intent("com.mypack.courses.Passed");
                    startActivity(i1);;
                    return true;
                }
                if( url.equals("http://any.com/url") ){
                    Toast tr =Toast.makeText(WebViewTest.this, "Test Failed", Toast.LENGTH_LONG);
                    tr.show();

                   Intent i2 = new Intent("com.mypack.courses.Failed");
                   startActivity(i2);
                    return true;
                }
                return true;
            }

この場合、ユーザーが Webview 上の「http://any.com/url」をクリックすると、任意のアクションが実行されます。条件またはメソッドを入力するだけで、そこで実行したい場所がどこでも得られることを願っています。アイデア...

于 2012-05-07T00:42:27.383 に答える