안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요^ ^
새로운 한주가 시작했네요. 다들 화이팅하세요!!
*WebView를 통해서 간단하게 웹페이지를 보려고 합니다. 그런데 아래와 같은 소스를 실행시키면 wv라는 webview에 웹페이지가 보이지 않고 기존에 내장된 브라우저가 실행이 되더라구요. 인터넷에서 소스를 보면 크게 다른부분이 없는 것 같은데요.
어떠한 처리를 해줘야하는건가요??
답변부탁드리겠습니다(_ _)
package com.test.WebViewTest;
import android.R.layout; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup.LayoutParams; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Button; import android.widget.LinearLayout;
public class WebViewMainActivity extends Activity { /** Called when the activity is first created. */ WebView wv=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout ll=new LinearLayout(this); LayoutParams lParms=new LayoutParams(android.widget.LinearLayout.LayoutParams.FILL_PARENT, android.widget.LinearLayout.LayoutParams.FILL_PARENT); ll.setOrientation(LinearLayout.VERTICAL); ll.setLayoutParams(lParms); setContentView(ll); wv=new WebView(ll.getContext()); wv.getSettings().setJavaScriptEnabled(true); LayoutParams wParms=new LayoutParams(LayoutParams.FILL_PARENT,350); wv.setLayoutParams(wParms); ll.addView(wv); Button btn=new Button(this); LayoutParams bParms=new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); btn.setLayoutParams(bParms); btn.setText("start"); ll.addView(btn); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub wv.loadUrl("http://www.google.com"); } }); } }
2009.09.08 12:35:23
그냥 궁금한건데
ll.addView(wv);
-> ll.addView(btn); ->
setContentView(ll);
이순서로 가야되는거아니에요? 상관없나요? ^^;;
2009.09.08 13:12:06
웹브라우져를 다시 재구성하고 계신것인가요?
버튼이나 화면 분할등을 해서 하시는 것을 원하신다면,
webviewClient 상속받아서 사용하시면 됩니다.
ps. 정확히 어떤것이 안된다는 것을 잘 모르겠네요.
webview를 그냥 사용한다면, 버튼이나 그런것 추가가 안되었던 것으로 기억하는데..
webviewClient를 사용하세요.
2009.09.09 10:35:21
버튼을 궂이 추가하려던건 아니구요.
웹뷰라는것이 무엇인지 한 번 확인해보고 싶어서 위와 같이 소스를 작성하였구요.
예를 들면 ImageView 같은 곳에선 그 뷰의 바운더리안에 이미지가 보여지게 되잖아요. 그래서 전 웹뷰에도 해당 웹 페이지가 그 웹뷰 안에 보여지는걸 간단히 확인해보고 싶어서 webviewclient를 사용하지 않았습니다. (아직 사용법도 모르고요..;;)
그런데 위의 코드를 실행하면 처음 제가 작성한 코드대로 뷰가 배치되어있고 웹페이지는 안드로이드에 내장된 브라우저가 새로 실행이 되어서 페이지가 보여지더라구요.