在android中将contentView设置为web视图后,返回活动contentView



我正在创建一个使用SAML和OAUTH2的登录名。为了获得登录令牌,我需要打开一个web视图,用户可以在其中输入他的登录凭据并推送登录。当他完成此操作后,它会重定向到一个带有SAML响应的页面。当收到此回复时,我需要能够关闭我创建的web视图。现在的问题是我无法关闭web视图并返回活动布局。以下是我用来创建活动和显示web视图的代码:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);
    final WebView webview = new WebView(this);
    Button saxoLogin = (Button) findViewById(R.id.saxologin);

    theLogin.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // Call private method
            setContentView(webview);



            webview.getSettings().setJavaScriptEnabled(true);
            webview.postUrl(url, SAMLreq.getBytes());

            debug.append("does this even work?");

我尝试使用:webview.setVisibility()方法并将其设置为不可见。我也尝试过使用setContentView(R.layout.activity_login)但第一个只是使查看器不可见,并且不会恢复活动布局和梯形图生成和错误。

不要调用setContentView两次。您应该将您的网络视图放在activity_login文件中,如:

<WebView android:id="@+id/webview"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:visibility="invisible"/>

当单击登录按钮时,请执行操作。另外,不要忘记为您的网络视图设置可见性。setVisibility(View.VISIBLE).

希望它能帮助

最新更新