1

您好,我正在尝试使用 onclick 获取 url 的值,但它对我不起作用。我正在使用以下代码。

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://www.example.com/c/document_library/get_file

谁能看到我哪里出错了,也许能指出我正确的方向。

感谢您

4

1 回答 1

1

您没有将您的设置onClickListener() myhandler为任何View. 您的代码 ( browserIntent) 启动了一个隐式intent,它将自动启动一个 Web 浏览器(新的Activity未链接到您的应用程序)来处理您的 URL。如果您需要从您的应用程序控制浏览,您应该WebView在您的布局中实现 a 并将您的设置onClickListener为它而不是使用隐式意图。查看此链接以了解 Android 如何处理隐式意图

于 2012-11-05T11:58:03.327 回答