我认为他正在尝试找到某种方法来直接在 xml 文件中设置 url,而无需在 Activity 中运行方法 loadUrl。喜欢:<Webview android:url="@string/my_url" />
但我不认为这是可能的。参见官方文档处理运行时更改
更改它实际上会创建一个新视图。
相反,您可以以编程方式执行此操作:
在你的onCreate
方法代码中是这样的
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/*getResources().getConfiguration().ORIENTATION_PORTRAIT;*/
webview = (WebView)findViewById(R.id.webView1);
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebViewClient(new WebViewClient()
{
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(getApplicationContext(), description, Toast.LENGTH_SHORT).show();
}
});
webview.loadUrl("http://www.facebook.com");
}
此外,您可以通过以下方式检查方向变化:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
webview.loadUrl("http://www.google.com");
Toast.makeText(getApplicationContext(), "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
webview.loadUrl("http://www.stackoverflow.com");
Toast.makeText(getApplicationContext(), "portrait", Toast.LENGTH_SHORT).show();
}
}
把它放在你的manifest.xm
l <activity>
android:configChanges="orientation|screenSize"
希望这对你有用。对我来说很好。
编辑:
不要忘记给 Internet 权限,否则它不会运行
<uses-permission android:name="android.permission.INTERNET"/>
否则,如果有任何问题,请告诉我。
谢谢你。