nexacro.ImageViewer 이미지 연동하기

 

1. web brower에서 만 보여줄 경우

   this.img_nm.set_image("url('/resources/images/cs/test_png')");

   또는

   this.img_nm.set_image("url('http://localhost:8080/resources/images/cs/test_png')");

 

2. nexa 전용 brower에서 보여줄 경우

   this.img_nm.set_image("url('http://localhost:8080/resources/images/cs/test_png')");

   - 반드시 절대 경로가 필요

Posted by 농부지기
,

[ Android.TabHost-2. 기본예제1 ]


1. 소스 목록

   - activity_main.xml : layout

   - MainActivity.java : tab 적용시킬 java단


2. 정의

   - activity_main.xml파일에 Tabhost 위젯을 정의하지 않고

     java단에서 Tabhost를 생성해서 적용한 예제


3. activity_main.xml

    

4. MainActivity.java
 



'[Android] - 위젯.소스 > TabHost' 카테고리의 다른 글

Android.TabHost-1. 정의 및 구성방법  (0) 2017.02.20
Posted by 농부지기
,

[ Android.TabHost-1. 정의 및 구성방법 ]


1. 정의

   - 여러 탭을 두고 각 탭을 클릭할 때마다 해당 화면이 나오도록 설정하는 뷰 컨테이너


2. 탭 호스트 방법 1

   1. 구성방법

 

 <TabHost >

     <LInearLayout>

            <TabWidget ..  android:id="@android:id/tabs" />

            <FrameLayout ..>

                    

                   //여기에 각 탭화면(Layout)을 추가


            </FrameLayout>

     </LInearLayout>

 </TabHost>


      - TagHost는 큰 틀 안에 TabWidget과 FrameLayout 이 존재한다.

      - TabWidget은 Tab을 구성하고, FrameLayout은 Tab을 선택했을 때 보여주는 내용이다.

      - TabHost,TabWidget, FrameLayout 의 id는 '@android:id/~'로 시작되는 형식으로 id를 정의해야 된다.


      - 위와 같이 구성시 Tab은 상단에 위치된다.

      - Tab을 하단에 위치하고 싶을 경우에는 TabWidget tag안에  

             android:layout_gravity="bottom"를 추가하면 된다.


   2. Java 기본 구성 코드

      



3. 탭 호스트 방법 2

   1. 구성방법

 

 <FrameLayout  xmlns:android="http://....">

       //여기에 각 탭화면(Layout)을 추가

 </FrameLayout>


      - FrameLayout : 여러개의 차일드 레이아웃을 겹쳐놓고 선택적으로 사용할 수 있게 해주는 레이아웃 위젯

      - TabHost는 java단에서 추가하여 사용


   2. Java 기본 구성 코드

     


'[Android] - 위젯.소스 > TabHost' 카테고리의 다른 글

Android.TabHost-2. 기본예제1  (0) 2017.02.21
Posted by 농부지기
,

[ 3. Android - Spinner(콤보) List 활용  ]

 

1. 정의

    - 보통 Combo라는 용어를 사용하는데

       Android - Spinner라는 용어로 해서 콤보를 처리 한다.

 

2. 화면

    - 컬러 Spinner

      Spinner에 채울 값 목록을 List 에 저장해서 처리 했음

     

3. 소스 목록

    1. res/layout/activity_main.xml : 화면 Layout

    2. java/.../MainActivity.java

 

4. res/layout/activity_main.xml : 화면 Layout

 

5. . java/.../MainActivity.java

 

9. 소스

    https://github.com/farmerkyh/AndroidSpinnerArray

 

Posted by 농부지기
,

[ 2. Android - Spinner(콤보) Array 활용  ]

 

1. 정의

    - 보통 Combo라는 용어를 사용하는데

       Android - Spinner라는 용어로 해서 콤보를 처리 한다.

 

2. 화면

    - 컬러 Spinner

      Spinner에 채울 값 목록을 Array에 저장해서 처리 했음

 

 

 

3. 소스 목록

    1. res/layout/activity_main.xml : 화면 Layout

    2. java/.../MainActivity.java

 

4. res/layout/activity_main.xml : 화면 Layout

 

5. . java/.../MainActivity.java

 

9. 소스

    https://github.com/farmerkyh/AndroidSpinnerArray

Posted by 농부지기
,

[ Android - Spinner(콤보) xml 을 활용 ]

 

1. 정의

    - 보통 Combo라는 용어를 사용하는데

       Android - Spinner라는 용어로 해서 콤보를 처리 한다.

 

2. 화면

    - 왼쪽 : 년도 Spinner

                Spinner에 체울 값 목록을 xml에 저장해서 처리 했음

    - 오른쪽 :월(1~4) Spinner

                   pinner에 체울 값은 strings.xml에 존재 하면서   xml에 존재 하는 xml(변수)를 해용해서 처리

          

 

3. 소스 목록

    1. res/values/arrays.xml  : 년도 xml

                                               월의 strings.xml  Resource id

    2. res/values/strings.xml : 월에 대한 Resource 존재

    3. res/layout/activity_main.xml : 화면 Layout

    4. java/.../MainActivity.java

 

4. res/values/arrays.xml  : 년도 xml

                                                 월의 strings.xml  Resource id

 

5. res/values/strings.xml : 월에 대한 Resource 존재

 

6. res/layout/activity_main.xml : 화면 Layout

 

7. . java/.../MainActivity.java

 

9. 소스

    https://github.com/farmerkyh/AndroidSpinnerXml

Posted by 농부지기
,

** Toast 모양 변경하기 **

 

0. 프로젝트명 : ToastModify

1. Toast컬러 변경 및 layout을 이용한 Toast변경

 

2. 소스

    1. MainActivity.xml              : layout 조회 및 Toast보여주기

    2. drawable/toast.xml        : Toast모양 변경

    3. layout/activity_main.xml : main activity

    4. layout/activity_toast.xml : Toast모양을 변경 할 Layout. Activity. View

 

3. 화면 :

    - Toast의 좌표

       .  메소드 : Toast.setGravity(int gravity, int xOffset, int yOffset)

       .  gravity : Toast의 기본 위치 지정 (TOP, LEFT, CENTER..)

       .  xOffset, yOffset : gravity 기본 위치를 기준으로 x, y 좌표임

       .  예)  toast.setGravity(Gravity.TOP | Gravity.LEFT150, 300);

 

    - [단순 토스트표시] 버튼 클릭 시 Toast

        

 

   - [LAYOUT토스트 표시]버튼  클릭 시 Toast

       . activity_toast.xml layout을 이용해서 생성

       . drawable/toast.xml 파일에 shape, strok, solid, padding, corner, gradient   tag등을 통해서 Toast 모양 변경

       


 

 

  1. MainActivity.xml

 

package com.example.farmer.toastmodify;

import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    Button button;
    Button button2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button = (Button) findViewById(R.id.button);
        button2 = (Button) findViewById(R.id.button2);

        button.setOnClickListener(toastOnclickListener);
        button2.setOnClickListener(layoutOnclickListener);
    }

    Button.OnClickListener toastOnclickListener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            //Toast toast = Toast(getApplicationContext());
            //toast.setText(sResult);
            //toast.setDuration(Toast.LENGTH_LONG);

            String notes = "토스트 내용";

            Toast toast = Toast.makeText(getApplicationContext(), notes, Toast.LENGTH_SHORT);

            //Toast 위치 지정.
            //x,y 좌표는  TOP, LEFT 의 위치에서 시작되는 좌표임
            toast.setGravity(Gravity.TOP | Gravity.LEFT150, 300);

            //Toast는 View를 상속받지 않아서 직접View 객체에 대한 속성을 넣을 수 없다.
            //대신 getView()메소드를 통해서 View객체를 받아서 View속성정의 하면 Toast속성에 적용 된다.
            View viewToast = toast.getView();

            //Toast BackgroundColor 변경
            //color 표기시 xml 에서는 "#ffffff"로 하지만
            //java 코드에서는 아래와 같이 rgb로 변환하여 사용해줘야 한다.
            viewToast.setBackgroundColor(Color.rgb(255, 0, 255));

            //Toast Font Color변경
            TextView tvToast = (TextView) viewToast.findViewById(android.R.id.message);
            tvToast.setTextColor(Color.RED);

            toast.show();

            //Toast.makeText(getApplicationContext(), notes, Toast.LENGTH_LONG).show();
        }
    };

    Button.OnClickListener layoutOnclickListener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            //토스트 모양을 정의하고 있는 레이아웃을 인플레이션 한다.
            //기존 토스트 모양을 작성한 toastborder.xml로 인플레이션 한다.
            LayoutInflater inflater = getLayoutInflater();
            View layout = inflater.inflate(R.layout.activity_toast,
                    (ViewGroup)findViewById(R.id.toast_layout_root));

            //레이아웃의 텍스트뷰에 보여줄 문자열을 설정한다.
            TextView text = (TextView)layout.findViewById(R.id.text);
            text.setText("Layout을 이용한 토스트");

            //토스트 객체 만들기
            Toast toast = new Toast(MainActivity.this);

            //토스트가 출력될 위치를 지정
            //x,y 좌표는  CENTER 의 위치에서 시작되는 좌표임
            toast.setGravity(Gravity.CENTER, 0, -200);

            toast.setDuration(Toast.LENGTH_SHORT);

            //토스트에 뷰를 설정
            toast.setView(layout);

            //토스트 부여주기
            toast.show();
        }
    };
}

 

 

 

  2. drawable/toast.xml

 

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <!--
      1. stroke    : 테두리 선
      2. solid      : Toast 내부 색 설정
      3. padding : 여백
      4. corners : 모서리 설정
      5. gradient : 경사도. 변화도
    -->
    <stroke
        android:width="4dp"
        android:color="#ff0008"
        android:dashWidth="5dp"
        android:dashGap="2dp"/>

    <solid
        android:color="#ff883300"/>

    <padding
        android:left="20dp"
        android:top="20dp"
        android:right="20dp"
        android:bottom="20dp"/>

    <corners
        android:radius="100dp"/>

    <gradient
        android:startColor="#ffff0000"
        android:endColor="#80ff00ff"
        android:angle="270"/>

</shape>

 

 

 

 

  3. layout/activity_main.xml

 

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.farmer.toastmodify.MainActivity">

    <Button
        android:id="@+id/button"
        android:text="단순 토스트 표시"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/button2"
        android:text="Layout 토스트 표시"
        android:layout_width="wrap_content"
        android:layout_toRightOf="@id/button"
        android:layout_height="wrap_content" />

</RelativeLayout>

 

 

 

 

  4. layout/activity_toast.xml

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toast_layout_root"
    android:orientation="horizontal"
    android:background="#00ffff"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="10dp">

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="20dp"
        android:background="@drawable/toast"/>

</LinearLayout>

 

 

 

Posted by 농부지기
,

** Dynamic Layout Create **

 

1. 프로젝트명 : ToggleCustom

2. 정의 : activity_main.xml을 사용하지 않고 java단에서 Layout을 생성하기

3. 화면 :

   

 

4. 안드로이드 버전

     - 스튜디오 : v2.2.3

     - Minumum SDK : API 19:Android 4.4. (KitKat)

 

5. 소스목록

   1. MainActivity.java 

 

6. 소스

 

  1. MainActivity.java

 

 package com.example.farmer.layoutjavacreate;

import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.LinearLayout;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);

        useDynamic();
    }
    //동적으로 Layout및 버튼 생성
    private void useDynamic(){
        //1. Layout 생성
        LinearLayout layoutMain = new LinearLayout(getApplicationContext());
        LinearLayout.LayoutParams paramsLayout = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
        layoutMain.setOrientation(LinearLayout.VERTICAL);
        layoutMain.setLayoutParams(paramsLayout);
        //layoutMain.setBackground(Color.parseColor("#ffffff"));

        //2. Button 생성
        Button button01 = new Button(getApplicationContext());
        Button button02 = new Button(getApplicationContext());
        LinearLayout.LayoutParams paramsButton = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
        button01.setLayoutParams(paramsButton);
        button02.setLayoutParams(paramsButton);

        layoutMain.addView(button01);
        layoutMain.addView(button02);

        button01.setText("버튼 1");
        button02.setText("버튼 2");

        setContentView(layoutMain);  //layoutMain은 View임
    }
}

 

Posted by 농부지기
,

** ToggleButton(버튼2개로) **

 

 

1. 프로젝트명 : ToggleCustom

2. 버튼 2개를 이용해서 ToggleButton만들기

3. 화면 :

       

 

4. 안드로이드 버전

     - 스튜디오 : v2.2.3

     - Minumum SDK : API 19:Android 4.4. (KitKat)

 

5. 소스목록

   1. MainActivity.java 
   2. activity_main.java
   3. drawable/selector_btn_left.xml                    : 왼쪽 버튼 선택 시
   4. drawable/selector_btn_right.xml                 : 오른쪽 버튼 선택 시
   5. drawable/selector_buttons_text.xml            : 선택된 버튼
   6. drawable/shape_btn_unselected_left.xml   : 왼쪽 버튼 미 선택 시
   7. drawable/shape_btn_unselected_right.xml : 오른쪽버튼 미 선택 시
   8. values/colors.xml                                       : color
 

6. 소스

 

 1. MainActivity.java 

 

package com.example.farmer.togglecustom;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    Button test1Button;
    Button test2Button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        test1Button = (Button)findViewById(R.id.test1_button);
        test2Button = (Button)findViewById(R.id.test2_button);

        test1Button.setOnClickListener(topButtonsListener);
        test2Button.setOnClickListener(topButtonsListener);
        test1Button.performClick();  //첫번째 버튼을 눌린 효과를 줌
    }

    View.OnClickListener topButtonsListener  = new View.OnClickListener(){
        @Override
        public void onClick(View view) {
            if (view.getId() == R.id.test1_button){
                test1Button.setSelected(true);
                test2Button.setSelected(false);
            }
            else{
                test1Button.setSelected(false);
                test2Button.setSelected(true);
            }
        }
    };


}

 

 

  2. activity_main.java

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.farmer.togglecustom.MainActivity">

        <Button
            android:id="@+id/test1_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            android:layout_weight="1"
            android:textColor="@color/selector_buttons_text"
            android:background="@drawable/selector_btn_left"
            android:text="Test 1"/>

        <Button
            android:id="@+id/test2_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="20dp"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            android:textColor="@color/selector_buttons_text"
            android:background="@drawable/selector_btn_right"
            android:text="Test 2"
            android:layout_weight="1"/>


</LinearLayout>

 

 

 

  3. drawable/selector_btn_left.xml

 

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:drawable="@color/gen_app_color" android:state_pressed="true" />
    <item android:drawable="@color/gen_app_color" android:state_selected="true" />
    <item android:drawable="@drawable/shape_btn_unselected_left" />
</selector>

 

 

 

  4. drawable/selector_btn_right.xml

 

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:drawable="@color/gen_app_color" android:state_pressed="true" />
    <item android:drawable="@color/gen_app_color" android:state_selected="true" />
    <item android:drawable="@drawable/shape_btn_unselected_right" />
</selector>

 

 

 

  5. drawable/selector_buttons_text.xml

 

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:color="@android:color/white" />
    <item android:state_pressed="true" android:color="@android:color/white" />
    <item android:color="@color/gen_app_color"/>
</selector>

 

 

 

  6. drawable/shape_btn_unselected_left.xml

 

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item >
        <shape android:shape="rectangle">
            <solid android:color="@android:color/white"/>
            <stroke android:width="5px" android:color="#337799" />
        </shape>
    </item>
    <item android:left="5dp"
        android:top="2dp"
        android:bottom="2dp">
        <shape android:shape="rectangle">
            <solid android:color="#FFFFFF" />
        </shape>
    </item>
</layer-list>

  

 

  7. drawable/shape_btn_unselected_right.xml

 

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>

    <color name="gen_app_color">#40ffe6</color>
    <color name="selector_buttons_text">#ff404a</color>
</resources>

 

 

  8. values/colors.xml

 

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>

    <color name="gen_app_color">#40ffe6</color>
    <color name="selector_buttons_text">#ff404a</color>
</resources>

 

 

Posted by 농부지기
,

** 7가지 EventHandler **

 

1. 프로젝트명 : ClickEvent

 

2. 정의 : EventHandler 종료

 

3. 소스명 :

    1. MainActivity.java

    2. ClickHandler.java

    3. activity_main.java

 

4. 안드로이드 버전

     - 스튜디오 : v2.2.3

     - Minumum SDK : API 19:Android 4.4. (KitKat)

 

5. 화면

    

 

 

5. 설명

    1. 익명 내부 클래스 처리
    2. 유명 내부 클래스 처리
    3. 유명 내부 클래스
    4. 제3클래스로 처리
    5. 자신의 클래스로 처리
    6. XML에서 핸들러 이벤트 저장
    7. 유명 외부 메소드

 

 

  1. MainActivity.java

 

package com.example.farmer.clickevent;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements View.OnClickListener{

    Button btn1;
    Button btn2;
    Button btn3;
    Button btn4;
    Button btn5;
    Button btn6;
    Button btn7;
    EditText et01;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btn1 = (Button)findViewById(R.id.btn01);
        btn2 = (Button)findViewById(R.id.btn02);
        btn3 = (Button)findViewById(R.id.btn03);
        btn4 = (Button)findViewById(R.id.btn04);
        btn5 = (Button)findViewById(R.id.btn05);
        btn6 = (Button)findViewById(R.id.btn06);
        btn7 = (Button)findViewById(R.id.btn07);
        et01 = (EditText)findViewById(R.id.editText01);

        //1. 익명 내부 클래스 : 클래스 이름이 없다.
        //   일회성 : 한번만 쓸 때 사용
        btn1.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view) {
                et01.setText("1. 익명 내부 클래스 처리");
                showToast("1. 익명 내부 클래스 처리");
            }
        });

        //2. 유명 내부 클래스
        View.OnClickListener onClickListener = new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                et01.setText("2. 유명 내부 클래스 처리");
                showToast("2. 유명 내부 클래스 처리");
            }
        };
        btn2.setOnClickListener(onClickListener);

        //3. 유명 내부 클래스
        btn3.setOnClickListener(new InnerHandler());

        //4. 제3클래스로 처리
        btn4.setOnClickListener(new ClickHandler(MainActivity.this));

        //5. 자신의 클래스로 처리
        //   이건   [public class MainActivity extends AppCompatActivity implements View.OnClickListener]
        //          이렇게 함으로써 처리 됨
        //   아래 [public void onClick(View view) { ] 와 연결 됨
        btn5.setOnClickListener(this);

        //7.
        btn7.setOnClickListener(onClickListener7);
    }

    //3. 유명 내부 클래스
    class InnerHandler implements View.OnClickListener{
        public void onClick(View view) {
            et01.setText("3. 유명 내부 클래스 처리");
            showToast("3. 유명 내부 클래스 처리");
        }
    }

    //5. 자신의 클래스로 처리
    //   이건   [public class MainActivity extends AppCompatActivity implements View.OnClickListener]
    //          이렇게 함으로써 처리 됨
    //   위쪽 [btn5.setOnClickListener(this);] 이 script로 연결됨
    @Override
    public void onClick(View view) {
        et01.setText("5. 자신의 클래스로 처리");
        showToast("5. 자신의 클래스로 처리");
    }

    //6. XML에서 핸들러 이벤트 저장
    public void xmlHandlerMethod(View view){
        et01.setText("6. XML에서 핸들러 이벤트 저장");
        showToast("6. XML에서 핸들러 이벤트 저장");
    }

    //7. 유명 외부 메소드
    private  View.OnClickListener onClickListener7 = new View.OnClickListener(){
        @Override
        public void onClick(View view) {
            et01.setText("7. 유명 외부 메소드");
            showToast("7. 유명 외부 메소드");
        }
    };


    public void showToast(String msg){
        Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
    }
}

 

 

 

 

  2. CllickHandler.java

 

package com.example.farmer.clickevent;

import android.view.View;

/**
* Created by farmer on 2017-01-07.
*/

public class ClickHandler implements View.OnClickListener {
    MainActivity activity;

    public ClickHandler(MainActivity activity) {
        this.activity = activity;
    }

    @Override
    public void onClick(View view) {
        activity.et01.setText("4. 제3클래스로 처리");
        activity.showToast("4. 제3클래스로 처리");
    }
}

 

 

 

  3. activity_main.xml

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.farmer.clickevent.MainActivity">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:gravity="center"
        android:textSize="30dp"
        android:text="OnClickEvent"
        android:id="@+id/textView" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <Button
            android:id="@+id/btn01"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="버튼 1"/>

        <Button
            android:id="@+id/btn06"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="xmlHandlerMethod"
            android:text="버튼 6 (xml)"/>
    </LinearLayout>

    <Button
        android:id="@+id/btn02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="버튼 2"/>
    <Button
        android:id="@+id/btn03"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="버튼 3"/>
    <Button
        android:id="@+id/btn04"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="버튼 4"/>
    <Button
        android:id="@+id/btn05"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="버튼 5"/>
    <Button
        android:id="@+id/btn07"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="버튼 7"/>

    <EditText
        android:id="@+id/editText01"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="top"
        android:editable="false"
        android:hint="hint"/>
</LinearLayout>

 

Posted by 농부지기
,