-2

3 개의 탭이있는 ViewPager를 사용하여 탭 활동에서 작업 중입니다. 문제 : 탭은 버튼의 onClick을 인식하지 못합니다.. 예를 들어 은 여기 내 Tab3.java입니다 :탭 된 활동에서 onClick을 구현할 수 없습니다.

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" android:layout_height="match_parent"> 

    <Button 
     android:onClick="btnchk" 
     android:id="@+id/btn_service" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/textView3" 
     android:layout_marginEnd="9dp" 
     android:layout_marginTop="38dp" 
     android:layout_toStartOf="@+id/fab" 
     android:text="Button" /> 
</RelativeLayout> 

그래서, 은 무엇 가능성이 잘못 될 수있다 : 여기

package com.abc; 

import android.support.design.widget.FloatingActionButton; 
import android.support.design.widget.Snackbar; 
import android.support.v4.app.Fragment; 
import android.os.Bundle; 
import android.support.annotation.Nullable; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.Toast; 


public class Tab3 extends Fragment { 
    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { 
     View v = inflater.inflate(R.layout.tab3, container, false); 

     return v; 
    } 
    public void btnchk(){ //Mouse hover says that this method is never used 
     Toast.makeText(getContext(),"Btn pressed ",Toast.LENGTH_SHORT).show(); 

    } 
    } 

이 Tab3.xml입니까? 참고 : btn.onClickListener를 사용하여 buttonClick을 구현할 수 있지만 문제는 "getText()"등을 해결할 수 없다는 것입니다. 모든 문제에는 하나의 해결책이 있다고 생각합니까? 어쩌면

+0

당신은 조각입니다. android : onClick = "btnchk"는 거기에 가지 않습니다. 아래에 나와있는 답변과 같은 활동에서이 기능을 사용하지 않으려면 View 또는 v 객체를 통해 OnClickListener를 올바르게 설정해야합니다. 예를 들어 다른 방법으로도 가능합니다. 예 : btnchk (View v) {button b = (Button) v.findViewById (R.id ....) b.setOnClickListener()} – CmosBattery

+0

'btnchk.setOnClickListner (listner)'를 사용할 때의 문제점은 무엇입니까? –

+0

나는 'btnchk.setOnClickListner (listner)'를 사용하여 buttonClick을 구현할 수있다. 그러나 문제는 "getText()"를 해결할 수 없다는 등의 많은 문제가있다. 모든 문제에는 하나의 솔루션이 있다고 생각한다. 어쩌면 –

답변

-1

단편화가 아닌 활동에 대해 메소드를 선언해야합니다.

// Activity 
public class MyActivity extends Activity 
{ 
    Fragment myFragment; 
    // Do something to instance myFragment. 
    // .... 

    public void btnchk(View v) 
    { 
     myFragment.btnchk(v); 
    } 
} 

당신은 자세한 내용을 얻을이 링크 How to handle button clicks using the XML onClick within Fragments 를 확인할 수 있습니다.

+0

은'MyActivity'에 의해'MainActivity'를 의미합니까? –