2016-04-14 22 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(); 
      } 
     }; 
    } 
} 
関連する問題