2016-04-14 144 views
1
同名

我想打電話給我創造了多久,我發現我使用了另一個東西,接口需要我打電話給其預定的方法,這是同一個名字的方法我想在裏面調用的方法。 例子:調用方法中的另一種方法在Java

public void onClick(View v) { 
    //doSomething 
} 
public void method() { 
    Button btn = new Button(this); 
    btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      //here I want to call the top onClick method 
     } 
    }); 
} 

是你們能夠幫助我,我怎麼能使用上的方法,而不是遞歸裏面嗎? Thx提前。 JF

回答

3

的語法是:

<enclosing-class>.this.onClick(); 

所以如果你在MainActivity說,那麼:

MainActivity.this.onClick(); 
+0

是的!感謝你的錢。 –

+1

樂意幫忙!請不要忘記接受答案。 – Egor

1

要使用的語法是OuterClass.this.methodName();

例如,如果外部類是A您需要撥打A.this.onClick();

interface IOnClick { 
    public void onClick(); 
} 

class A { 
    public void onClick(){ 
    } 

    public void test(){ 
     IOnClick ic = new IOnClick(){ 
      public void onClick(){ 
       A.this.onClick(); 
      } 
     }; 
    } 
} 
相關問題