2012-11-10 19 views
5

मैं किसी दिए गए वेब व्यू के लिए पहले ही सक्रिय जावास्क्रिप्ट हूं, और वेबव्यू के अंदर नया लिंक खोलता हूं, ब्राउज़र में नहीं। यह मुख्य गतिविधिब्राउज़र को खोलने से वेबव्यू को रोकें

package com.Afrogfx.pronouns; 

    import android.os.Bundle; 
    import android.annotation.SuppressLint; 
    import android.app.Activity; 
    import android.view.Menu; 
    import android.webkit.WebView; 

    @SuppressLint("SetJavaScriptEnabled") 
    public class MainActivityPronouns extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main_activity_pronouns); 

    WebView wvHtml = (WebView) findViewById(R.id.webview); 
    wvHtml.getSettings().setBuiltInZoomControls(true); 
    wvHtml.getSettings().setJavaScriptEnabled(true); 
    wvHtml.loadUrl("http://afrogfx.com/appcatcategories.php?catid=13&parentid=11"); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.activity_main_activity_pronouns, menu); 
    return true; 
    } 
    } 

मैं कैसे ब्राउज़र & में नहीं WebView (एप्लिकेशन) के अंदर साइट में सभी लिंक को खोलने के, मेरे कोड handel कर सकते हैं (उपयोगकर्ता ब्राउज़र में खोलें करने के लिए न दिखाएं) है।

+0

के संभावित डुप्लिकेट ([क्लिक करने से यूआरएल को डिफ़ॉल्ट ब्राउज़र खुलता है] http://stackoverflow.com/questions/2378800/क्लिक-यूआरएल-ओपन-डिफॉल्ट-ब्राउजर) – Confuse

उत्तर

0

तो आप का उपयोग करने के WebviewClicent .. यहाँ वर्ग

private class HelloWebViewClient extends WebViewClient 
{ 
    @Override 
    public boolean shouldOverrideUrlLoading(final WebView view, final String url) 
    { 
     Utils.showActivityViewer(WebsiteActivity.this); 
     new Thread(new Runnable() 
     { 

      public void run() 
      { 
       view.loadUrl(url); 
      } 



      }).start(); 



     return true; 
    } 
} 

और वेब दृश्य में बाँध के रूप में

webview.setWebViewClient(new HelloWebViewClient()); 

और उल्लेख http://developer.android.com/reference/android/webkit/WebViewClient.html

+0

"केवल मूल थ्रेड जो दृश्य पदानुक्रम बनाता है, में आपका स्वागत है।" अपवाद) – Stan

12

कि बस उपवर्ग बनवाने के जो वेब क्लाइंट का विस्तार कर रहा है और उस वर्ग की विधि का उपयोग करें, जिसे पेजफिनिश (वेब ​​व्यू सी, स्ट्रिंग यूआरएल) और
सार्वजनिक बूलियन shouldOverrideUrlLoading (अंतिम WebView देखने के लिए, अंतिम स्ट्रिंग यूआरएल)

यहाँ

code- है

myWebView.setWebViewClient(new WebViewClient()  
     { 
      @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url) 
      { 
       //view.loadUrl(url); 
       System.out.println("hello"); 
       return true; 
      } 
     }); 
     myWebView.loadUrl(url); 
संबंधित मुद्दे