- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 webview,我希望它在应用程序启动后立即加载一个 url。
如果我在按下按钮时调用 loadURL()
,它可以正常工作,但是当我尝试在 onCreate()
中加载 url 时,应用程序崩溃了。
WebView myWebView;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
}
public void loadURL(View view) {
myWebView = (WebView) findViewById(R.id.WebView);
myWebView.setWebViewClient(new WebViewClient());
myWebView.loadUrl("http://www.google.com");
}
当我使用这个时,应用程序崩溃了:
WebView myWebView;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
myWebView = (WebView) findViewById(R.id.WebView);
myWebView.setWebViewClient(new WebViewClient());
myWebView.loadUrl("http://www.google.com");
}
编辑**这就是我在控制台中得到的。
[2014-06-14 19:33:58 - ddms] Can't bind to local 8700 for debugger
[2014-06-14 19:34:11 - ddms] null
java.nio.BufferOverflowException
at java.nio.HeapByteBuffer.put(HeapByteBuffer.java:200)
at com.android.ddmlib.JdwpPacket.movePacket(JdwpPacket.java:235)
at com.android.ddmlib.Debugger.sendAndConsume(Debugger.java:347)
at com.android.ddmlib.Client.forwardPacketToDebugger(Client.java:665)
at com.android.ddmlib.MonitorThread.processClientActivity(MonitorThread.java:344)
at com.android.ddmlib.MonitorThread.run(MonitorThread.java:263)
[2014-06-14 19:34:12 - ddms] null
java.nio.BufferOverflowException
at java.nio.HeapByteBuffer.put(HeapByteBuffer.java:200)
at com.android.ddmlib.JdwpPacket.movePacket(JdwpPacket.java:235)
at com.android.ddmlib.Debugger.sendAndConsume(Debugger.java:347)
at com.android.ddmlib.Client.forwardPacketToDebugger(Client.java:665)
at com.android.ddmlib.MonitorThread.processClientActivity(MonitorThread.java:344)
at com.android.ddmlib.MonitorThread.run(MonitorThread.java:263)
编辑**这是 logcat 输出
06-14 19:53:22.677: D/AndroidRuntime(8075): Shutting down VM
06-14 19:53:22.677: W/dalvikvm(8075): threadid=1: thread exiting with uncaught exception (group=0x41c11c80)
06-14 19:53:22.677: E/AndroidRuntime(8075): FATAL EXCEPTION: main
06-14 19:53:22.677: E/AndroidRuntime(8075): Process: com.myapp.myapp, PID: 8075
06-14 19:53:22.677: E/AndroidRuntime(8075): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp.myapp/com.myapp.myapp.MainActivity}: java.lang.NullPointerException
06-14 19:53:22.677: E/AndroidRuntime(8075): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2227)
06-14 19:53:22.677: E/AndroidRuntime(8075): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2277)
06-14 19:53:22.677: E/AndroidRuntime(8075): at android.app.ActivityThread.access$800(ActivityThread.java:145)
06-14 19:53:22.677: E/AndroidRuntime(8075): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1206)
06-14 19:53:22.677: E/AndroidRuntime(8075): at android.os.Handler.dispatchMessage(Handler.java:102)
06-14 19:53:22.677: E/AndroidRuntime(8075): at android.os.Looper.loop(Looper.java:136)
06-14 19:53:22.677: E/AndroidRuntime(8075): at android.app.ActivityThread.main(ActivityThread.java:5088)
06-14 19:53:22.677: E/AndroidRuntime(8075): at java.lang.reflect.Method.invokeNative(Native Method)
06-14 19:53:22.677: E/AndroidRuntime(8075): at java.lang.reflect.Method.invoke(Method.java:515)
06-14 19:53:22.677: E/AndroidRuntime(8075): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:781)
06-14 19:53:22.677: E/AndroidRuntime(8075): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
06-14 19:53:22.677: E/AndroidRuntime(8075): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:133)
06-14 19:53:22.677: E/AndroidRuntime(8075): at dalvik.system.NativeStart.main(Native Method)
06-14 19:53:22.677: E/AndroidRuntime(8075): Caused by: java.lang.NullPointerException
06-14 19:53:22.677: E/AndroidRuntime(8075): at com.myapp.myapp.MainActivity.onCreate(MainActivity.java:27)
06-14 19:53:22.677: E/AndroidRuntime(8075): at android.app.Activity.performCreate(Activity.java:5310)
06-14 19:53:22.677: E/AndroidRuntime(8075): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
06-14 19:53:22.677: E/AndroidRuntime(8075): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2181)
06-14 19:53:22.677: E/AndroidRuntime(8075): ... 12 more
完整的 MainActivity.java 仅供此处使用
package com.myapp.myapp;
import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
WebView myWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
myWebView = (WebView) findViewById(R.id.WebView);
myWebView.setWebViewClient(new WebViewClient());
myWebView.loadUrl("http://www.google.com");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
return rootView;
}
}
}
最佳答案
解决了!
我终于遇到了这个。
@Override
protected void onStart()
{
super.onStart();
myWebView = (WebView) findViewById(R.id.WebView);
myWebView.setWebViewClient(new WebViewClient());
myWebView.loadUrl("http://www.google.com");
}
显然 fragment 没有立即加载
getFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
这需要一些时间来处理,所以在此之后执行的 onStart
完美地完成了工作。
关于java - 在 onCreate 中使用 webview.loadUrl 时应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24220675/
我的 WebView 适用于 Google.com 等网站,但不会加载特定页面。 简单地显示subscribe to feedburner(我制作这个网站是为了反射(reflect)一个转换后的新闻提
我的 webview 收费从服务器查看页面 private String url = "http://192.168.33.37/gestpresenze/index.html"; @Override
我已经使用 addJavascriptInterface() 方法向 WebView 添加了一个 Javascript 接口(interface)对象,我正在尝试使用 WebView.loadUrl(
我有一个测试页面,可以为测试的每个问题从 HTML 加载数据。每当我从 HTML 中获取视频作为 iFrame 时,我都会将其解析为数据 URI,然后在 WebView 中显示该视频。我使用同一页面来
我写了一个方法来从用户那里获取地址信息,然后将其显示在谷歌的 map 上。这是我写的方法 function doRemoteMapEmployee(e) { var mapEmployeeAddres
刚刚开始使用 Electron,我希望能够使用 loadURL 加载页面,但不替换整个页面。 这里的想法是如何使用像部分/模板这样的东西,这样我就可以在顶部和底部拥有一致的布局,但将不断变化的内容引入
(首先,我要声明一下,我的专业领域是 HTML5(和 php/coldfusion),而我是 Java/Android 的初学者) 在我的 onCreateOptionsMenu 中,我有以下代码来处
我有一个从 android webview 播放音乐的应用程序,我已经自动播放到下一首歌曲,为了播放下一首歌曲,我需要在 webview 中加载新的 url。一切正常。但是当我从 webview 添加
我的 Android 应用程序有一个更新类,在同一个应用程序中,我有另一个通过 webview 打开网站的类。问题是我想让更新类加载 url 但不显示它,然后缓存它(如果可能的话,所以如果用户离线它应
我想创建一个可以在应用程序中打开网站的应用程序。所以我想使用webview。但是,当我使用“loadurl”功能时,该应用程序在手机(Android 4.2.2)上崩溃了。你知道问题出在哪里吗? 错误
我试图在 webview 中打开 url,但它在外部浏览器中打开 url。 我的代码是 public class MainActivity extends Activity { private
我知道要在 webview 中运行 javascript 函数,我们需要在 loadUrl() 中加载它。在我的程序中,当我在 loadUrl 中使用它时,一切正常 javascript 被调用,但
我有三个 fragment 。我已经从第三个 fragment 向第一个 fragment 发送了一个字符串(URL)。第一个 fragment 有一个 webView 。我想在我从第三个 fragm
我的 WebView 是这样设置的 public class Webview extends Activity { private WebView webView; @Override protect
我正在尝试加载页面,然后执行 JavaScript 代码,如下所示: webview.setWebViewClient(new WebViewClient() { @Over
当我点击 webview 页面中的按钮时出现错误。据说,当我单击按钮时,它将更改为 google 站点。以下是代码和错误:- 主 Activity .java package com.mt.nad.t
是否可以将值传递给 webView.loadUrl 中提到的 URL?像这样的?? webView.loadUrl("file:///android_asset/www/index.html#valu
当尝试在我的 Android Things webview 中加载 url 时,页面最初加载,然后使 UI 崩溃并显示一条指向 IoT FrameworkPackageStubs 的错误消息。 我在
这是我的代码: package sai.datla.game; import android.app.Activity; import android.os.Bundle; import androi
backbone.js 网站上没有 Backbone.history.loadURL 的文档 http://backbonejs.org/#History-start虽然我对它在我看过的某些应用程序中
我是一名优秀的程序员,十分优秀!