我正在尝试创建自己的浏览器,以便它将使用Web View显示我选择的页面。我的问题是,尽管我可以将Web View作为一个单独的应用程序工作(通过遵循http://developer.android.com/resources/tutorials/views/hello-webview.html中的教程),但我无法在我的应用程序中显示它。
我认为只需创建一个WebViewer(我的Web View实现)就可以运行该程序。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebViewer wv = new WebViewer();
}
(WebViewer设置为自动显示谷歌),但是当我运行程序时,我得到的只是一个白框。 main.xml文件具有WebViewer对象,并且在清单中建立了互联网权限。
当这不起作用时,我尝试直接实现Android的Web Viewer。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView wv = new WebView(this);
setContentView(wv);
wv.loadUrl("http://stackoverflow.org/");
}
一旦我尝试运行它就会崩溃程序。
我知道我对此很新,也许我只是错过了一些小事,但我做错了什么?
答案 0 :(得分:0)
回到第一次尝试,main.xml中有什么?大多数情况下,您应该在XML中使用您的视图(就像您链接到的示例中一样)并且您应该使用findViewById()(也在示例中)实例化您的视图。由于WebView没有任何布局参数,第二次尝试可能会崩溃,但我不是100%肯定。为什么不建立更多的例子?
答案 1 :(得分:0)
看起来您需要在onCreate中找到WebView并在其上执行loadUrl。您还要一次又一次地设置内容视图。除非你做的事真的很疯狂,否则你应该只需要一次。试试这个:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView wv = findViewById(R.id.my_wv_id);
wv.loadUrl("http://stackoverflow.org/");
}
twitter android sdk实际上有一个很好的例子来说明如何做到这一点:https://github.com/sugree/twitter-android-sdk/blob/master/twitter/src/com/sugree/twitter/TwDialog.java。