2014-02-18 2 views
0

오류가 발생합니다. OnClickListener 객체를 추가 할 수 없습니다. 이것은 다음 코드입니다. 내가 mFan OnClickListener를 개체에 오류가 직면하고Android에 OnClickListener 객체를 추가하는 방법은 무엇입니까?

@Override 

    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) 
    { 


     Activity act; 

     View rootView = inflater.inflate(R.layout.abc, container, false); 

     TextView tt=(TextView) rootView.findViewById(R.id.txt); 

     Button button=(Button) rootView.findViewById(R.id.btn1); 


     button.setOnClickListener(mFan); // Here i am getting the error // 

     View.OnClickListener mFan = new OnClickListener() 
     { 

      public void onClick(View v) 
      { 


      } 

     }; 

    } 

는 내가 mFan의 오류를 얻고있다

그래서, 나 좀 도와주세요 변수

에 해결 될 수없는, 어떤 날을 제안 좋은 해결책.

답변

1

가 먼저 리스너를 만들 필요가 다음

View.OnClickListener mFan = new OnClickListener(){ 
    public void onClick(View v) 
    { 
    } 
}; 

와 당신이 지금 OnClickListener 만들 었는지 button으로 설정하십시오.

button.setOnClickListener(mFan); 
+1

고마워요.하지만 두 번째 옵션이 올바르게 작동합니다. 다시 한번 감사드립니다. – animation123

3

당신은 선언 할 필요가 당신의 당신은 ... 그것을 참조 OnClickListener 전에

View.OnClickListener mFan = new OnClickListener() 
{ 
    public void onClick(View v) 
    { 
     // stuff 
    } 
}; 

button.setOnClickListener(mFan); 

당신은 또한 View를 반환하기 위해 onCreateView 방법이 필요하므로 잊지 마세요 :

return rootView; 

onCreateView 방법 하단 ...

A SA 측 노트,이 같은 익명 리스너를 사용하여 같은 일을 수행 할 수 있습니다

button.setOnClickListener(new OnClickListener(){ 
    @Override 
    public void onClick(View v) { 
     // your stuff  
    } 
}); 
+0

예, 그렇습니다. OnClickListener mFan; 하지만이 또한 오류가 발생합니다. – animation123

+0

위대한 남자 ... 그것은 정말로 멋지다. 당신은 나의 날을 구한다. – animation123

관련 문제