728x90
반응형
지난번 포스팅에서 webView추가를 했었는데 url 부분을 다이얼로그를 띄어서 페이지를 이동하는 코딩을 하겠습니다.
* 지난번 포스팅 참고
2019/10/21 - [android] - [j android] WebView 추가하기
1) 간단히 다이얼로그 버튼과 웹뷰를 넣었습니다.(activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/go"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="주소입력" />
</LinearLayout>
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
2) 다이얼로그 xml을 꾸며줍니다. 간단하게 EditText에 주소를 입력하도록 구현했습니다. (dialog_url.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="300dp"
android:layout_height="match_parent"
android:padding="5dp">
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="주소를 입력하세요."
android:textColor="#9C27B0"
android:textSize="23dp" />
<EditText
android:id="@+id/url"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="15"
android:hint="ex) http://www.aaa.com"
android:inputType="textPersonName" />
</LinearLayout>
3) 버튼을 누르면 다이얼로그 창 띄우기
- LinearLayout : 내가 만든 dialog_url.xml을 연결시켜줌
- setPositiveButton을 누르면 webview에 url를 load 시켜줌
- setNegativeButton을 누르면 dismiss() 메서드를 사용해 다이얼로그를 없애줌.
final LinearLayout linear = (LinearLayout) View.inflate(MainActivity.this, R.layout.dialog_url, null);
new AlertDialog.Builder(MainActivity.this)
.setView(linear)
.setPositiveButton("확인", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
EditText url = (EditText) linear.findViewById(R.id.url);
String value = url.getText().toString();
webView.loadUrl(value);
dialog.dismiss();
}
})
.setNegativeButton("취소", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.dismiss();
}
})
.show();
** 실행화면
728x90
반응형
'android' 카테고리의 다른 글
[j android] 구글지도 api key 등록 (0) | 2019.12.16 |
---|---|
[j android] 안드로이드 SDK 번호와 버전 정리 (0) | 2019.10.29 |
[j android] 어플종료 다이얼로그 창 만들기 (5) | 2019.10.22 |
[j android] 페이지 슬라이딩(page sliding) 구현하기 (0) | 2019.10.21 |
[j android] WebView 추가하기 (0) | 2019.10.21 |