2012-11-05 117 views
1

你好我想獲得一個URL的價值與onclick,但它不適合我。我正在使用下面的代碼。Android獲取網址與onclick

import android.net.Uri; 
import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.View; 
import android.webkit.WebView; 


public class MainActivity extends Activity { 
String valueOfURL = null; 
WebView webView; 
Intent browserIntent; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    browserIntent = new Intent("android.intent.action.VIEW", Uri.parse("http://www.example.com")); 
    startActivity(browserIntent); 
} 

public String handleLinkClicked(String value) { 
    if (value.startsWith("http")) 

    valueOfURL = value; 
    return valueOfURL; 

} 
public View.OnClickListener myhandler = new View.OnClickListener() { 
    public void onClick(View view) { 
    handleLinkClicked(valueOfURL); 
    webView.loadUrl("http://docs.google.com/gview?embedded=true&url=valueOfURL"); 
    }}; 
} 

第一頁將加載正常,但當我點擊該頁面上的pdf它不會加載。基本上我想要做的是獲得URL的價值,並將其傳遞給一個變量,然後用於通過谷歌文檔閱讀。它是一個pdf文件,它的URL看起來像這樣 http://wwww.example.com/c/document_library/get_file

任何人都可以看到我要出錯的地方,也許可以指向正確的方向。

感謝你

回答

1

你沒有設置你的onClickListener()myhandler任何View。你的代碼(browserIntent)啓動一個隱含的intent,它將自動啓動一個Web瀏覽器(新的Activity沒有鏈接到你的應用程序)來處理你的URL。如果您需要控制應用程序的瀏覽,則應在佈局中實施WebView,並將其設置爲onClickListener而不是使用隱式意圖。檢查這link關於Android如何處理隱含的意圖

+0

我該怎麼做 –

+0

檢查我更新的答案。你應該在你的佈局中有一個WebView,並以編程方式設置它的佈局。使用「android.intent.action.VIEW」將啓動一個隱含的意圖,讓Android系統決定如何打開。它不會將它加載到佈局中的WebView中。 –