Câu trả lời của Arulx Z chính xác là những gì tôi đang tìm kiếm.
Tôi đang viết một ứng dụng với Ngăn kéo Điều hướng với recyclerview và webview, để giữ cho trình duyệt web bên trong ứng dụng bất kể các siêu liên kết được nhấp (do đó không khởi chạy trình duyệt web bên ngoài). Cho rằng nó sẽ đủ để đặt 2 dòng mã sau đây:
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.setWebViewClient(new WebViewClient());
chính xác theo tuyên bố WebView của bạn.
Đây là một ví dụ về mã WebView được triển khai của tôi:
public class WebView1 extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView wv = (WebView) findViewById(R.id.wv1); //webview statement
wv.setWebViewClient(new WebViewClient()); //the lines of code added
wv.setWebChromeClient(new WebChromeClient()); //same as above
wv.loadUrl("http://www.google.com");
}}
bằng cách này, mọi liên kết được nhấp vào trang web sẽ tải bên trong WebView của bạn. (Sử dụng Android Studio 1.2.2 với tất cả các SDK được cập nhật)
WebViewClient
và không cần phân lớp nếu đây là tất cả những gì bạn đang làm. Tôi đã làm việc này chỉ bằng cách thực hiệnmyWebView.setWebViewClient(new WebViewClient());