onClickListener 설치 및 후속 처리

15353 단어 Android

OnClickListener 소개


이름 그대로 OnClickListener는 Click을 감지하고 반응하는 Interface입니다.
안드로이드 개발에서 OnclickListenr를 사용하여 클릭 (클릭) 을 쓸 때의 처리입니다.몇 가지 설치 방법이 있지만 무명류의 방법을 사용하지 않는다.

카탈로그

  • onClickListener 설치
  • View의 onClick을 통해 UI에 나타나는 일반적인 처리
  • 미리 준비하다


    온클릭리스트를 구현하기 위해서는'어느 뷰를 클릭했는가'라는 판단을 내려야 한다.그래서 View 자체에 "id"가 있습니다.
    아래의 코드 예를 보십시오.
    android.xml
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/textView"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:id="@id/textView"/>
    
    
    언뜻 보기에는 그리 대단한 TextView가 없다. 모든 맨 ↓에는'android:id='@+id/textView'라는 기술이 있다.이 TextView에'textView'라는 이름을 붙인다'는 내용이다.이렇게 하면 어느 뷰가 클릭되었는지 판단할 수 있다.
    또한android는 두 가지가 있습니다.
    위에 있는 것처럼.
  • android="@+id/textView"
  • android="@id/textView"
  • "+"기호가 붙은 경우 새 Resource(R.java.)ID를 만듭니다.
    설치되지 않으면 기존 id를 참조하십시오.
    이번에 사용한 포석은 아래에 기록하시오.
    activity_main.xml
    <LinearLayout
        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"
        android:orientation="vertical"
        tools:context=".MainActivity">
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello World!"
            android:layout_gravity="center"
            android:id="@+id/textView"/>
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content" 
            android:text="ボタン"
            android:id="@+id/button"/>
    </LinearLayout>
    
    초보자를 대상으로 해설을 하다.(xml에 불안하면 먼저 읽어주세요응용 프로그램 레이아웃. 이것은 일종의 학습이 될 것 같아요.)
    LinerLayout에 두 개의 뷰가 설정되어 있습니다.저는 TextView와 Button입니다.LinerLayout은 oricontation을vertical로 지정하여 세로로 배열합니다.
    Textview의 매개 변수는 이번입니다.
  • 가로만 필요
  • 세로 폭만 필요
  • text는
  • TextView는 "layout gravity"를 "center"로 지정하기 때문에view 자체가 가운데에 가깝다
  • 새 id "textView"
  • 지정
    Buton의 매개 변수는 이번입니다.
  • 최대 너비
  • 세로 전용
  • text는 버튼
  • 새 id "@+id/button"
  • 지정
    네.

    string.xml 정의


    약간 불필요하지만 "string.xml"에서 문자열을 지정하는 것이 좋습니다.
    현지화(다언어화)와 규격 변경에 대응하기 위해서다.
    입문부터 익숙해져야 한다고 조언했다.
    먼저 "string.xml"을 엽니다.

    res -> values -> strings.xml.
    string.xml
    <resource>
        <string name="main_text_top">こんにちは</string>
        <string name="main_button_text">ボタン</string>
    </resources>
    
    아래에 기록하다.
    텍스트
    ???섹션xml에서 지정한 이름을 입력하십시오.
    이것을 "layout.xml"으로view에 반영하려면 다음과 같습니다.
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/main_text_top"
            android:layout_gravity="center"
            android:id="@+id/textView"/>
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/main_button_text"
            android:id="@+id/button"/>
    
    ""에서 @string/maintext_top 잠깐만, 방금string.나는 네가 내가 xml에서 지정한name을 너에게 건네주었다는 것을 알고 싶다.이렇게 뷰에 반영됩니다.

    onClickListener 설치


    설치해 주세요.
    MainActivity.java
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            setViews();
        }
    
        private void setViews(){
            Button button = (Button)findViewById(R.id.button);
            button.setOnClickListener(onClick_button);
        }
    
        private View.OnClickListener onClick_button = new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this,"button clicked",Toast.LENGTH_SHORT).show();
            }
        };
    }
    
    onCreate의 setContent View에layout을 놓고 setViews를 호출합니다.setViews
    자원에서 layout에 있는 Buton을 읽습니다. 그 button에 onClickListenr가 설정되어 있습니다.
    setViews()
    button.setOnClickListener(呼び出すView.onCLickListener);
    
    그런 다음 View를 호출합니다.OnClickListener를 정의합니다.
    onClick
        View.OnClickListener 名前 = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
              処理
            }
        };
    
    이렇게

    onClickListener가 자주 사용하는 UI 처리 결합


    View Click 이후 자주 수행되는 UI 처리
  • Toast
  • Intent
  • View 교체
  • Toast


    토스트 문이라고 하면 못 알아들을 수도 있지만 스마트폰을 접했을 때 꼭 봤던 부품 중 하나다.
    위의 예도 나타났다.따라서 한번 실행해 보시면 인상 깊을 겁니다.
    MainActivity.java
      Toast.makeText(MainActivity.this,
                        "Toast",
                        Toast.LENGTH_SHORT).show();
    
    android.widget에 속합니다.
    다음은 매개변수입니다.
    Toast.makeText("Context context",String text,int duration)
    
    Context는 Day2에 설명되어 있습니다.그러니까 방법을 지정하면 현재class를 지정하면 돼요.
    예)MainActivity.this
    String text는 그대로 유지됩니다.\"\"에 포함된 문자열이나 문자 유형의 변수도 가능합니다.이번에는 직접 문장에 들어갔다.
    int duration은 초수입니다.그렇다고 해서 단순한 숫자 (int) 로 지정할 수도 없다.토스트 중에 두 가지가 있어요.
    Toast.LENGTH_LONG  //4秒弱
    Toast.LENGTH_SHORT  //2秒弱
    
    존재하다.이렇게 지정할 수 있습니다.
    구체적인 숫자는 토스트의 슬립 등 자신이 상속받을 클라스만 따로 준비할 수 있고, 현 단계에서는 두 개를 먼저 지정할 수 있다.

    intent


    죄송합니다. 설명은 하늘 끝까지 던져졌고, 저도 간단하게 Day2intent 조항에서 말했을 뿐입니다.

    명확한 int


    일반적으로 동일한 애플리케이션의 화면 마이그레이션에 사용됩니다.
    intent 클래스 startActivity 메서드의 매개 변수입니다.
    MainActivity.java
                Intent intent = new Intent(getApplication(),subActivity.class);
           intent.putExtra("string name",extra);
                startActivity(intent);
    
    
    Intent(Context PackageContext,class);
    intent.putExtra(String key,extra);
    
    putExtra를 통해 Activity 간에 데이터를 교환할 수 있습니다.
    나는 키를 String에 건네주고 데이터를 키에 각각 저장했다.
    정말 아무거나 괜찮아요.
    숫자, 문자열, 진위 모두 있다.
    호출
    Strng text = intent.getStringExtra("");
    int number = intent.getIntentExtra("",初期化);
    
    .
    호출할 때 무엇을 명확하게 불러야 합니까?

    View 대체

                TextView textView = (TextView)findViewById(R.id.text_topText);
                textView.setText("ボタンを押してください");
    
    버튼의 요령과 같다.
    그게 다야.

    좋은 웹페이지 즐겨찾기