안드로이드 개발 질문/답변
(글 수 45,052)
인터넷브라우져에서 접속후 클릭하여
다른페이지로 이동후 백키를 누르면 이전 페이지로 이동하는데
제가 앱을 만들어서 거기서 webview로 띄워주고 클릭하여 다른페이지로
이동하면 그페이지에서는 백키를 누르면 webview가 종료 되고
어플로 돌아가더라구요
그럼 만약 webview로 인터넷을 접속하게 되면
뒷 페이지로 가게 하려면 어떻게 해야하는지 질문올립니다
밑에 간략한 소스와 XML 올렸습니다
===============================================webview 소스
public class Sm5_web extends Activity {
Context c=this;
private WebView myWebView;
private DbAdapter mDbHelper;
DbMemory dbMemory = DbMemory.getInstance();
// final private String DEFAULT_URL = "http://mtest.renaultsamsungm.com:8888/db-input.jsp";
final private String DEFAULT_URL = "http://m.renaultsamsungm.com/index.jsp";
InitDatabase idb = InitDatabase.getInstance();
@Override
public void onCreate(Bundle savedInstanceState) {
mDbHelper = new DbAdapter(this);//Context 넣어줌
super.onCreate(savedInstanceState);
setContentView(R.layout.sm5_web);
try{
mDbHelper.open();
if(!(idb.isMYINFO(DbAdapter.mDb))){
ContentValues initialValues = new ContentValues();
initialValues.put("_id", 1);
DbAdapter.mDb.insert("MYINFO", null, initialValues);
}
}catch(Exception e){
e.printStackTrace();
}finally{
mDbHelper.close();
}
myWebView = (WebView)this.findViewById(R.id.webview);
// new added
FrameLayout mContentView = (FrameLayout)getWindow().getDecorView().findViewById(android.R.id.content);
final View zoom = this.myWebView.getZoomControls();
mContentView.addView(zoom, ZOOM_PARAMS);
zoom.setVisibility(View.GONE);
myWebView.setWebViewClient(new Callback());
this.myWebView.loadUrl(DEFAULT_URL);
}
private static final FrameLayout.LayoutParams ZOOM_PARAMS = new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
Gravity.BOTTOM
);
// new added
private class Callback extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return(true);
}
}
===============================================xml소스
<LinearLayout
android:id="@+id/layout_main_top"
android:layout_width="fill_parent"
android:layout_height="712px"
>
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
다른페이지로 이동후 백키를 누르면 이전 페이지로 이동하는데
제가 앱을 만들어서 거기서 webview로 띄워주고 클릭하여 다른페이지로
이동하면 그페이지에서는 백키를 누르면 webview가 종료 되고
어플로 돌아가더라구요
그럼 만약 webview로 인터넷을 접속하게 되면
뒷 페이지로 가게 하려면 어떻게 해야하는지 질문올립니다
밑에 간략한 소스와 XML 올렸습니다
===============================================webview 소스
public class Sm5_web extends Activity {
Context c=this;
private WebView myWebView;
private DbAdapter mDbHelper;
DbMemory dbMemory = DbMemory.getInstance();
// final private String DEFAULT_URL = "http://mtest.renaultsamsungm.com:8888/db-input.jsp";
final private String DEFAULT_URL = "http://m.renaultsamsungm.com/index.jsp";
InitDatabase idb = InitDatabase.getInstance();
@Override
public void onCreate(Bundle savedInstanceState) {
mDbHelper = new DbAdapter(this);//Context 넣어줌
super.onCreate(savedInstanceState);
setContentView(R.layout.sm5_web);
try{
mDbHelper.open();
if(!(idb.isMYINFO(DbAdapter.mDb))){
ContentValues initialValues = new ContentValues();
initialValues.put("_id", 1);
DbAdapter.mDb.insert("MYINFO", null, initialValues);
}
}catch(Exception e){
e.printStackTrace();
}finally{
mDbHelper.close();
}
myWebView = (WebView)this.findViewById(R.id.webview);
// new added
FrameLayout mContentView = (FrameLayout)getWindow().getDecorView().findViewById(android.R.id.content);
final View zoom = this.myWebView.getZoomControls();
mContentView.addView(zoom, ZOOM_PARAMS);
zoom.setVisibility(View.GONE);
myWebView.setWebViewClient(new Callback());
this.myWebView.loadUrl(DEFAULT_URL);
}
private static final FrameLayout.LayoutParams ZOOM_PARAMS = new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
Gravity.BOTTOM
);
// new added
private class Callback extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return(true);
}
}
===============================================xml소스
<LinearLayout
android:id="@+id/layout_main_top"
android:layout_width="fill_parent"
android:layout_height="712px"
>
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
아래와 같이 코드 넣어주시면 될 것 같습니다.
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch(keyCode) {
case KeyEvent.KEYCODE_BACK:
myWebView.goBack()