将contentView设置为android

时间:2015-11-10 13:57:53

标签: java android android-activity

我正在创建一个登录,我使用SAML和OAUTH2。要获取登录令牌,我需要打开一个Web视图,用户可以在其中输入登录凭据并按下登录名。完成此操作后,它会重定向到具有SAML响应的页面。我需要能够关闭收到此respose时创建的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) 但第一个只是使查看器隐身,不会恢复活动布局,梯形图生成和错误。

1 个答案:

答案 0 :(得分:0)

不要两次调用setContentView。您应该将webview放在activity_login文件中,如:

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

点击theLogin按钮进行操作时。也不要忘记设置webview.setVisibility(View.VISIBLE)的可见性。

希望有所帮助