คำตอบของ Arulx Z คือสิ่งที่ฉันกำลังมองหา
ฉันกำลังเขียนแอพด้วย Navigation Drawer พร้อม recyclerview และ webviews เพื่อให้เว็บเบราส์ภายในแอพโดยไม่คำนึงถึงการคลิกไฮเปอร์ลิงก์ (ดังนั้นจึงไม่เปิดเว็บเบราว์เซอร์ภายนอก) เพื่อที่จะพอเพียงใส่รหัส 2 บรรทัดต่อไปนี้:
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.setWebViewClient(new WebViewClient());
ภายใต้คำสั่ง WebView ของคุณ
นี่คือตัวอย่างของรหัส WebView ของฉัน:
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");
}}
ด้วยวิธีนี้ทุกลิงก์ที่คลิกในเว็บไซต์จะโหลดภายใน WebView ของคุณ (ใช้ Android Studio 1.2.2 พร้อมอัปเดต SDK ทั้งหมด)
WebViewClient
และไม่จำเป็นต้องมีคลาสย่อยหากเป็นสิ่งที่คุณทำ ฉันได้รับสิ่งนี้เพื่อทำงานเพียงแค่ทำmyWebView.setWebViewClient(new WebViewClient());