java - 在 android 中将 contentView 设置为 Web View 后返回到 Activity contentView

标签 java android android-activity

我正在创建一个使用 SAML 和 OAUTH2 的登录名。要获取登录 token ,我需要打开一个 Web View ,用户可以在其中输入他的登录凭据并推送登录。当他完成此操作后,它会重定向到带有 SAML 响应的页面。我需要能够关闭收到此回复时创建的 WebView 。现在的问题是我无法关闭 WebView 并恢复 Activity 布局。这是我用来创建 Activity 并显示 Web View 的代码:

@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) 但第一个只是使查看者不可见,并且没有恢复 Activity 布局,并且梯子生成并出错。

最佳答案

不要调用 setContentView 两次。您应该将您的 WebView 放入 Activity_login 文件中,例如:

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

当点击登录按钮时,即可执行您的操作。另外不要忘记设置 webview.setVisibility(View.VISIBLE) 的可见性。

希望对你有帮助

关于java - 在 android 中将 contentView 设置为 Web View 后返回到 Activity contentView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33631685/

相关文章:

java - @RestController bean 在根上下文中注册,尽管被排除在 exceptFilters 中

Java 泛型 - Make Generic 扩展 2 个接口(interface)

java - 访问被拒绝发现属性“ro.sf.lcd_密度

android - 即使应用程序被杀死,如何使用警报管理器打开 Activity ?

java - Keylistener 可以工作,但没有执行预期的操作。为什么?

android - 找不到类 'com.google.android.gms.location.internal.ParcelableGeofence

java - 将各种 editText 传递给另一个 Activity

android - 如何重新排序 android 中的 Activity ?

android - 如何从最近导出的 Activity 中排除?

java - 如何在 JspTags 中访问请求?