我正在创建一个登录,我使用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)
但第一个只是使查看器隐身,不会恢复活动布局,梯形图生成和错误。
答案 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)的可见性。
希望有所帮助