gpt4 book ai didi

android - 在 WebView Android 中从 TextView 加载 URL

转载 作者:太空狗 更新时间:2023-10-29 13:21:15 24 4
gpt4 key购买 nike

我正在使用此方法从 Browsable intent 过滤器获取 URL 并将该 URL 粘贴到我的文本字段中,这似乎工作正常但我想在我的 webView 中加载该 URL。我已经尝试过“webView.loadUrl(intentUri);”,但它会使应用程序强制关闭(请参阅下面的日志猫),所以我无法在 onCreate 中加载 URL 但是我找到了一种解决方法,即从我的文本字段获取 URL 并将该 URL 加载到我的 WebView 我已经在 webview 设置中尝试了“webView.loadUrl(urlEditText.getText());”,但我不能让它工作它给我的错误是“WebView 类型中的方法 loadUrl(String) 不适用于参数(可编辑)

代码

TextView uri = (TextView) findViewById(R.id.urlField);
//if (Intent.ACTION_MAIN.equals(getIntent().getAction())) {
String intentUri = (new Intent("com.example.browsableintent.MY_ACTION"))
.toUri(Intent.URI_INTENT_SCHEME).toString();
uri.setText(intentUri);
webView.loadUrl(intentUri);
Log.w("URLHandler", intentUri);
//} else {
Uri data = getIntent().getData();
if (data == null) {
uri.setText("");
} else {
uri.setText(getIntent().getData().toString());
}
//}

日志猫

02-11 17:50:48.678: E/AndroidRuntime(29023): FATAL EXCEPTION: main
02-11 17:50:48.678: E/AndroidRuntime(29023): Process: com.air.swiftmp, PID: 29023
02-11 17:50:48.678: E/AndroidRuntime(29023): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.air.swiftmp/com.air.swiftmp.MainActivity}: java.lang.NullPointerException
02-11 17:50:48.678: E/AndroidRuntime(29023): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2292)
02-11 17:50:48.678: E/AndroidRuntime(29023): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2350)
02-11 17:50:48.678: E/AndroidRuntime(29023): at android.app.ActivityThread.access$800(ActivityThread.java:163)
02-11 17:50:48.678: E/AndroidRuntime(29023): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1257)
02-11 17:50:48.678: E/AndroidRuntime(29023): at android.os.Handler.dispatchMessage(Handler.java:102)
02-11 17:50:48.678: E/AndroidRuntime(29023): at android.os.Looper.loop(Looper.java:157)
02-11 17:50:48.678: E/AndroidRuntime(29023): at android.app.ActivityThread.main(ActivityThread.java:5335)
02-11 17:50:48.678: E/AndroidRuntime(29023): at java.lang.reflect.Method.invokeNative(Native Method)
02-11 17:50:48.678: E/AndroidRuntime(29023): at java.lang.reflect.Method.invoke(Method.java:515)
02-11 17:50:48.678: E/AndroidRuntime(29023): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
02-11 17:50:48.678: E/AndroidRuntime(29023): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
02-11 17:50:48.678: E/AndroidRuntime(29023): at dalvik.system.NativeStart.main(Native Method)
02-11 17:50:48.678: E/AndroidRuntime(29023): Caused by: java.lang.NullPointerException
02-11 17:50:48.678: E/AndroidRuntime(29023): at com.air.swiftmp.MainActivity.onCreate(MainActivity.java:95)
02-11 17:50:48.678: E/AndroidRuntime(29023): at android.app.Activity.performCreate(Activity.java:5389)
02-11 17:50:48.678: E/AndroidRuntime(29023): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
02-11 17:50:48.678: E/AndroidRuntime(29023): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2256)

我只是想要一种从我的文本字段中获取 URL 并将其加载到 onCreate 或 webView 设置中的 WebView 中的方法。谢谢

最佳答案

"webView.loadUrl(urlEditText.getText());" in webview settings but i cant get it working the error it give me is "The method loadUrl(String) in the type WebView is not applicable for the arguments (Editable)"

因为 loadUrl 将 url 作为 String 而 getText() 方法返回 Editable 对象,所以使用 toString()使用 getText() 就像:

String strUrl=urlEditText.getText().toString();
if(strUrl.length()>0)
webView.loadUrl(strUrl);
else
//... show message if url is null

并获取NPE,因此请确保在初始化webViewurlEditText

之前调用 setContentView

关于android - 在 WebView Android 中从 TextView 加载 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28495091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com