2012-02-06 45 views
3

我正在製作一個Android應用程序,我必須顯示Twitter的哈希標記鏈接但是,當我加載這個在我們自定義的網頁視圖時,它將在默認瀏覽器中打開。你可以幫助我如何在網頁視圖中打開它,而不是在默認的瀏覽器?如何在webview中打開twitter hash鏈接?

Link是:https://mobile.twitter.com/search/%23nokia

謝謝...

WebViewClient yourWebClient = new WebViewClient() 
    { 
    /* Override page so it's load on my view only */ 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) 
    { 
    // This line we let me load only pages inside Firstdroid Webpage 
    if (url.contains("firstdroid") == true) 
    /* Load new URL Don't override URL Link */ 
    return false; 

    // Return true to override url loading (In this case do nothing). 
    return true; 
    } 
    }; 


    // Get Web view 
    mWebView = (WebView) findViewById(R.id.WebView); //This is the id you gave 
    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.getSettings().setSupportZoom(true); //Zoom Control on web (You don't need this 
    //if ROM supports Multi-Touch 
    mWebView.getSettings().setBuiltInZoomControls(true); //Enable Multitouch if supported by ROM 
    mWebView.setWebViewClient(yourWebClient); 

    // Load URL 
    Log.v("", ""+web2); 
    mWebView.loadUrl(web2); 
    btn.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
    // TODO Auto-generated method stub 
    Log.v("", "EXECUTED"); 
    //website.this.finish(); 
    Intent ii = new Intent(getParent(), Socialsites.class); 
    TabGroupActivity parentActivity3 = (TabGroupActivity)getParent(); 



    // ii.putExtra("WEB", six.get(arg2)); 





    parentActivity3.startChildActivity("bb", ii); 
    } 

}); 
+0

你能在這裏粘貼你的代碼嗎? – MKJParekh 2012-02-06 08:45:13

+0

看看我的代碼我已經更新了我的問題我的網址是在變量web2 – Nitin 2012-02-06 08:53:54

回答

1

寫load.loadUrl(URL))爲:

@Override 
public boolean shouldOverrideUrlLoading(WebView view, String url) 
{ 
    // TODO Auto-generated method stub 
    view.loadUrl(url); 
    return true; 
} 
+0

完成但不工作 – Nitin 2012-02-06 11:20:51

1

製作告你有權限訪問互聯網

在清單中。

<uses-permission android:name="android.permission.INTERNET" /> 

XML佈局

<?xml version="1.0" encoding="utf-8"?> 
<WebView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/webview" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
/> 

和加載你的URL的shouldOverrideUrlLoading(內

WebView myWebView = (WebView) findViewById(R.id.webview); 
myWebView.loadUrl("https://mobile.twitter.com/search/%23nokia"); 
+0

我已經完成了所有的東西,但是這是在默認瀏覽器中打開並隱藏我在同一個佈局中添加的選項卡和其他視圖。 – Nitin 2012-02-06 07:16:47

+0

看看我的代碼我已更新我的問題我的網址是在變量web2 – Nitin 2012-02-06 08:53:59

0

如何使用:

@Override 
public boolean shouldOverrideUrlLoading(WebView view, String url) 
{ 
    view.loadUrl("https://mobile.twitter.com/searches"); 
    needReload = true; 
    return true; 
} 

然後你重載函數onPageFinished爲:

@Override 
    public void onPageFinished(WebView view, String url) { 
     setProgressBarIndeterminateVisibility(false); 
     progess.setVisibility(View.GONE); 
     if(needReload){ 
      view.loadUrl("javascript:location.search = \"q=%23nokia\""); 
      needReload = false; 
     } 
    } 

這將刷新頁面與諾基亞項的搜索。
您可以通過替換諾基亞:

view.loadUrl("javascript:location.search = \"q=%23" +searchTerms +"\""); 

要得到的東西更靈活。