1

このテーマをグーグルで検索しようとして苦労しています。正しい検索用語を使用していてはなりません。私は Android にロケーション リスナーを持っています。通常、リスナーを使用しているクラス内にリスナーをネストします。

public class ClassName {
    ...
    private class Listener implements SomeListener{
        ...
        public void somethingChanged(){
            ...
        }
    }
}

今回は、コードを読みやすくして再利用できるようにするために、リスナーを新しいクラスにすることにしました。これで、リスナーとリスナーを使用しているクラスが分離されました。

public class ClassName{
    ...
}

public class Listener implements SomeListener{
    ...
    public void somethingChanged(){
        ...
    }
}

したがって、somethingChanged()メソッド内では、イベントが発生したことをメイン クラスに通知して、更新を行うことができます。これを行う方法が思いつきません。リスナーのメソッドに特定のものを入れることができないか、再利用できません。リスナーから呼び出されたメソッドが、リスナーを使用してクラス内のメソッドを呼び出すようにするにはどうすればよいですか?

4

1 に答える 1

2

なるほど、内側のクラスは外側のクラスを知っていますが、クラスを分離したので、これはもう当てはまりません。

ClassNameコンストラクターで のインスタンスをに渡し、内から のパブリック メソッドListenerを呼び出すことをお勧めします。ClassNamesomethingChanged

于 2012-06-26T15:54:42.090 に答える