2015-06-18 2 views
1

У меня есть веб-просмотр в приложении для Android, но когда кто-то перемещается по сайту, он открывается в новом окне, я хочу, чтобы он оставался внутри webview .. is есть способ сделать это легко? Вот код в моей деятельности:Пользователь остается в приложении, когда пользователь нажимает на сайт в webview

public class WebView1 extends Activity { 

    WebView web1; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_web_view); 

     Intent in=getIntent(); 
     String urll= in.getStringExtra("url"); 
     web1=(WebView)findViewById(R.id.web); 
     web1.loadUrl(urll); 

    } 

ответ

2

Приложить WebViewClient к WebView, где shouldOverrideUrlLoading() на вашем WebViewClient загружает URL в WebView и возвращает истину.

Например, эта деятельность реализует этот подход:

/*** 
    Copyright (c) 2008-2015 CommonsWare, LLC 
    Licensed under the Apache License, Version 2.0 (the "License"); you may not 
    use this file except in compliance with the License. You may obtain a copy 
    of the License at http://www.apache.org/licenses/LICENSE-2.0. Unless required 
    by applicable law or agreed to in writing, software distributed under the 
    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
    OF ANY KIND, either express or implied. See the License for the specific 
    language governing permissions and limitations under the License. 

    From _The Busy Coder's Guide to Android Development_ 
    https://commonsware.com/Android 
*/ 

package com.commonsware.android.browser4; 

import android.app.Activity; 
import android.os.Bundle; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 

public class BrowserDemo4 extends Activity { 
    WebView browser; 

    @Override 
    public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    setContentView(R.layout.main); 
    browser=(WebView)findViewById(R.id.webkit); 

    browser.setWebViewClient(new WebViewClient() { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 

     return(true); 
     } 
    }); 

    browser.loadUrl("https://commonsware.com"); 
    } 
} 

(от this sample project)

+0

моего WebView намерено URL в mainactivity, что я код мне нужно добавить – user3354812

+0

Intent через нагрузку URL, что делать – user3354812

Смежные вопросы