내 응용 프로그램에서 WebView 호출을 허용하려고합니다. 이 호출에서 다른 페이지를 탐색 할 수 있어야합니다. 또한 응용 프로그램에 일관된 AppBar를 유지하려고합니다. (나는 다른 SO 게시물에 이러한 옵션을 가지고 노는 발견하고) 내 코드에서Android - WebView를 클릭하면 AppBar이 사라집니다.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="com.realpayment.app.activities.CalledAction"
android:background="@color/c_black">
<android.support.v7.widget.Toolbar
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:elevation="4dp"
android:theme="@style/JupiterTheme"
app:popupTheme="@style/ThemeOverlay.AppCompat"/>
<WebView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/calledAction"
android:background="@color/c_black"
android:layout_margin="15px"
android:layout_below="@+id/my_toolbar"
android:textColor="@color/c_white"
/>
내가 부르고 있지만, 난 그냥 시작되는
으로 나는 .XML가 정의한 처음과 마지막 행과 같은 문제 참조 (난 당신이 클릭 할 수없는 경우에 알을,하지만 난 실수로 내 링크에서 리디렉션했다) :
WebView browser = (WebView) findViewById(R.id.calledAction);
browser.setFocusable(true);
browser.setFocusableInTouchMode(true);
browser.getSettings().setJavaScriptEnabled(true);
browser.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
browser.getSettings().setDomStorageEnabled(true);
browser.getSettings().setDatabaseEnabled(true);
browser.getSettings().setAppCacheEnabled(true);
browser.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
browser.loadUrl(sCallToActionLink);
이 완벽하게 링크를로드하고 내 액션 학사 학위를 r이 표시됩니다. 위로 버튼을 누르면 부모 활동으로 이동하고 뒤로 버튼을 누르면 마지막으로 호출 한 활동으로 이동합니다. 내 문제는 내가 링크를 클릭하면 위로 버튼이없는 자체 AppBar가있는 새 화면이 열린다는 것입니다. 이것은 완전히 다른 견해 인 것처럼 보입니다. 뒤로 버튼은 여전히 작동하지만 내 계획은 사용자가 원하는 몇 가지 화면을 탐색 한 다음 위로 버튼을 눌러 내 앱의 적절한 위치로 돌아갈 수 있도록 위로 버튼을 제공하는 것입니다. 이 경우 유일한 방법은 뒤로 버튼을 반복적으로 누르는 것입니다. 이 메소드를 오버라이드 (override) 24+ API를 들어 WebViewClient
를 설정하면 당신은 당신의 WebView
내에서 링크를 열 수 있습니다 사전
그래서 당신은 링크가 자신의'WebView' 내에서 열 수하고자하는 기존 방법을 사용 API <을 지원하는 경우? – Pztar
예. 하지 않을 이유가 있습니까? WebView가 브라우저의 의도를 벗어나 더 이상 내 응용 프로그램에 있지 않다는 것을 알았습니다. –