Android에서 여러 레이아웃 중첩을 클릭할 때의 동작 정보

6368 단어 Android

하고 싶은 일


아래 레이아웃에서 TextView를 눌렀을 때 RelativeLayout을 호출하는 클릭 처리 방법을 조사합니다.
- RelativeLayout
- - LinearLayout
- - - TextView

전제 조건


판식의 중복 부분을 누르면 맨 위에 있는 판식만 실제 조립 처리를 실행합니다.
즉, 각 레이아웃에서 처리를 수행하더라도 TextView를 클릭하면 TextView 처리만 수행됩니다.온터치를 설치할 때는 다릅니다.
MainActivity.java
        TextView textView = (TextView) findViewById(R.id.textView);
        LinearLayout linearLayout = (LinearLayout) findViewById(R.id.linearLayout);
        RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.relativeLayout);

        relativeLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                System.out.println("RelativeLayout");
            }
        });

        linearLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                System.out.println("LinearLayout");
            }
        });

        textView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                System.out.println("textView");
            }
        });

사전 요구 사항 확인


이번 화면 구성은 이런 느낌이다.간단하다

TextView 섹션(SAMPLE 001)을 클릭할 때:
constore에 textView만 표시됩니다.
이때 Relative Layout의 onClick이라고 불러주세요.

확인


다만 TextView 설치는 다음과 같이 변경됩니다.
MainActivity.java
        textView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                System.out.println("textView");
                RelativeLayout grandParent = (RelativeLayout) v.getParent().getParent();</font>
                grandParent.callOnClick();
            }
        });
클릭한 View의 부모 요소를 가져옵니다.
획득한 부모 요소
grandParent.callOnClick();
이렇게 클릭 이벤트를 생성하면 됩니다.
console에는 다음 두 가지가 표시됩니다.
textView
RelativeLayout
간단해.
다음은 온터치에 대한 상황을 쓰고 싶습니다.

좋은 웹페이지 즐겨찾기