Android 使用webview更改了默认语言

Android 使用webview更改了默认语言,android,android-studio,android-layout,android-fragments,android-webview,Android,Android Studio,Android Layout,Android Fragments,Android Webview,我的应用程序默认语言是西班牙语和西班牙语。我已经介绍了XML中的webview。在此更改之前,语言为西班牙语。添加webview后,它会自动显示英语。如何解决此问题 谢谢你提前帮忙。 我已经用过下面的代码了 WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setUserAgentString(String.valueOf(Locale.SP

我的应用程序默认语言是西班牙语和西班牙语。我已经介绍了XML中的webview。在此更改之前,语言为西班牙语。添加webview后,它会自动显示英语。如何解决此问题

谢谢你提前帮忙。 我已经用过下面的代码了

WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setUserAgentString(String.valueOf(Locale.SPANISH));

在活动中有webView

 @Override protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    init here language again  then 
    setContentView(R.layout.activity_terms_of_use);

在活动中有webView

 @Override protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    init here language again  then 
    setContentView(R.layout.activity_terms_of_use);

您可以动态添加web视图,然后再次初始化该语言

    llDynemic=(LinearLayout)findViewById(R.id.test);

    WebView webView = new WebView(getContext());// webview in mainactivity
            webView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                    ViewGroup.LayoutParams.WRAP_CONTENT));
            webView.setBackgroundColor(Color.TRANSPARENT);
            webView.getSettings().setJavaScriptEnabled(true);
            webView.loadDataWithBaseURL(null, "<style>img{display: inline;height: auto;max-width: 100%;} a {color: #337ab7;}</style>" + newBody, "text/html", "UTF-8", null);
            llDynemic.addView(webView);

// initialize the language here

它将工作

您可以动态添加web视图,然后再次初始化该语言

    llDynemic=(LinearLayout)findViewById(R.id.test);

    WebView webView = new WebView(getContext());// webview in mainactivity
            webView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                    ViewGroup.LayoutParams.WRAP_CONTENT));
            webView.setBackgroundColor(Color.TRANSPARENT);
            webView.getSettings().setJavaScriptEnabled(true);
            webView.loadDataWithBaseURL(null, "<style>img{display: inline;height: auto;max-width: 100%;} a {color: #337ab7;}</style>" + newBody, "text/html", "UTF-8", null);
            llDynemic.addView(webView);

// initialize the language here

经过大量测试,并遵循其他答案的建议,我终于解决了这个问题

WebView的问题:

WebView必须在活动中动态加载。通过ActivitysetContentView从XML文件加载第一次将不起作用,整个活动的本地化将中断。但是,后续的发布或Activityrecreate将按预期工作。 即使动态加载WebView,它也不会第一次工作。同样,后续发布或Activityrecreate将正常工作。 考虑到上述问题,解决方案包括动态加载WebView,然后立即重新创建活动

ActivityWithWebView.java

公共类活动WithWebView扩展了AppCompatActivity{ 私有网络视图; 私有静态布尔值firstTime=true; @凌驾 保护空隙onCreate@Nullable捆绑存储状态{ 设置contentviewr.layout.activity_和web_视图; 设置SupportActionBarFindViewByIdr.id.toolbar; ActionBar ActionBar=getSupportActionBar; 如果actionBar!=null actionBar.setTitleR.string.instructions; //WebView必须动态加载,以防止应用程序内本地化问题。 webView=新建WebViewAppManager.getContext; 如果是第一次{ //首次加载时重新创建,以防止本地化问题。 再现 第一次=错误; 回来 } LinearLayoutCompat webviewWrapper=findViewByIdR.id.webview\u包装器; webView.setLayoutParamsnew ViewGroup.LayoutParamsViewGroup.LayoutParams.MATCH_父级, ViewGroup.LayoutParams.WRAP_内容; webviewWrapper.addViewwebView; //做其他的工作。 } } 带有web\u view.xml的活动


经过大量测试,并遵循其他答案的建议,我终于解决了这个问题

WebView的问题:

WebView必须在活动中动态加载。通过ActivitysetContentView从XML文件加载第一次将不起作用,整个活动的本地化将中断。但是,后续的发布或Activityrecreate将按预期工作。 即使动态加载WebView,它也不会第一次工作。同样,后续发布或Activityrecreate将正常工作。 考虑到上述问题,解决方案包括动态加载WebView,然后立即重新创建活动

ActivityWithWebView.java

公共类活动WithWebView扩展了AppCompatActivity{ 私有网络视图; 私有静态布尔值firstTime=true; @凌驾 保护空隙onCreate@Nullable捆绑存储状态{ 设置contentviewr.layout.activity_和web_视图; 设置SupportActionBarFindViewByIdr.id.toolbar; ActionBar ActionBar=getSupportActionBar; 如果actionBar!=null actionBar.setTitleR.string.instructions; //WebView必须动态加载,以防止应用程序内本地化问题。 webView=新建WebViewAppManager.getContext; 如果是第一次{ //首次加载时重新创建,以防止本地化问题。 再现 第一次=错误; 回来 } LinearLayoutCompat webviewWrapper=findViewByIdR.id.webview\u包装器; webView.setLayoutParamsnew ViewGroup.LayoutParamsViewGroup.LayoutParams.MATCH_父级, ViewGroup.LayoutParams.WRAP_内容; webviewWrapper.addViewwebView; //做其他的工作。 } } 带有web\u view.xml的活动


请查看:-编辑以使用更好的代码块,并清理语法。请查看:-编辑以使用更好的代码块,并清理语法。谢谢@Ajaya Tiwari,你救了我一天,很好。非常感谢@Ajaya Tiwari,你救了我一天,很好。非常感谢。