2016-10-05 3 views
1

Ich habe eine WebView, die eine Eltern hat. in WebView Wenn ich auf eine bestimmte Schaltfläche klicke, lädt es eine andere URL. Ich möchte die Tastatur auf dieser URL deaktivieren. und diese URL habe ich in der Methode "override-rriver-loading" (WebView-Ansicht, URL-Url).Android: Wie deaktiviert man die Tastatur in Webview für eine bestimmte Seite?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/background" 
    android:gravity="center_horizontal" 
    android:orientation="vertical" 
    tools:context="com.xenopsi.benchmark.BrowserActivity"> 

    <WebView 
     android:id="@+id/browserView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:paddingBottom="@dimen/activity_vertical_margin" 
     android:paddingLeft="@dimen/activity_horizontal_margin" 
     android:paddingRight="@dimen/activity_horizontal_margin" 
     android:paddingTop="@dimen/activity_vertical_margin" 
     android:scrollbars="none"/> 

    </RelativeLayout> 

An diesem Verfahren i tat

relativeLayout.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS); 
webView.setFocusable(false); 
webView.setFocusableInTouchMode(true); 

aber immer noch, wenn ich auf Textfeld dieser Seite tippen, Tastatur noch gezeigt. wenn ich den gleichen Code auf onCreate() Methode der Aktivität, seine Arbeit gut gemacht,

aber mein Problem ist es auf shouldOverrideUrlLoading Methode deaktivieren möchten, wenn meine Seite laden.

+0

siehe [diese ] (http://stackoverflow.com/a/30440309/5148289) antwort –

+0

Ich habe bereits versucht, alle Dinge, die in oncreate-Methode arbeiten, aber ich möchte dies für eine bestimmte Seite tun, wenn die Methode "OverwriteUrlLoading" meine URL erkennen. für andere Seite möchte ich meine Tastatur zeigen, aber nicht für diese Seite. – ankur

Antwort

0

Okey wie Sie erwähnen Sie Tastatur für bestimmte Verbindung verstecken wollen, so etwas tun,

public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    Log.e("Loading URL", url); 

    view.loadUrl(url); 

    if(url.equals(yourUrl)){ 
     // hide keyboard 
    } else { 
     // unhide keyboard 
    } 
    return true; 
} 

ich das hoffentlich Hilfe ..

Coding glücklich ..

+0

ich habe das schon probiert, aber immer noch keine lösung. – ankur

Verwandte Themen