我认为他正在尝试找到一些方法来直接在 xml 文件中设置 url,而不必在 Activity 中运行方法 loadUrl。点赞:<Webview android:url="@string/my_url" />
但我认为这是不可能的。见官方文档Handling Runtime Changes
更改它实际上会创建一个新视图。
相反,您可以通过编程方式执行此操作:
在你的 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.xml <activity>
android:configChanges="orientation|screenSize"
希望这对你有用。对我来说很好。
编辑:
别忘了给互联网权限,否则它不会运行
<uses-permission android:name="android.permission.INTERNET"/>
如果有任何问题,请告诉我。
谢谢。