2016-04-14 23 views
1

Başka bir şey için kullandığım bu arabirimi, önceden tanımlanmış yöntemini çağırmamı gerekli bulmadan çok önce oluşturduğum yöntemi çağırmaya çalışıyorum. İçinde aramak istediğim yöntemin. Örnek: Java ile aynı adla aynı yöntemle başka bir yöntem çağırma

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 
     } 
    }); 
} 

ben üst yöntemi değil, yinelemeli iç birini kullanabilirsiniz nasıl bana yardım edebilir adamlar mı? Thx önceden. JF

cevap

3

sözdizimi olacaktır: bu yüzden

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

Eğer MainActivity söylemek eğer, o zaman: Kullanılacak

MainActivity.this.onClick(); 
+0

Evet! Milyona teşekkürler. –

+1

Yardım etmekten mutluluk duyuyorum! Lütfen cevabı kabul etmeyi unutmayın. – Egor

1

sözdizimi Örneğin OuterClass.this.methodName();

ise dış sınıf A ise A.this.onClick();

numaralı telefonu aramanız gerekmektedir.
interface IOnClick { 
    public void onClick(); 
} 

class A { 
    public void onClick(){ 
    } 

    public void test(){ 
     IOnClick ic = new IOnClick(){ 
      public void onClick(){ 
       A.this.onClick(); 
      } 
     }; 
    } 
} 
İlgili konular