私はアクティビティでListViewを持っており、私はListViewにカスタムアダプターを設定しています。Androidのアダプターは、静的内部クラスまたは非静的内部クラスである必要があります
私のアダプタクラスは次のようになります。
private static class MyAdapter extends ArrayAdapter
または
private class MyAdapter extends ArrayAdapter
私はそれがある限り、アダプタがアクティビティの参照内に封入されたが、それを確認するために望まれるように違いを作るべきではないと思います。
(今後の読者向け)最後の質問は後ろ向きです。静的な内部クラスを持ち、アクティビティ/コンテキストへのアクセスが必要な場合は、WeakReferenceを使用する必要があります(アクティビティよりも長生きするものがあれば)。クラスが静的で内部的でない場合、外部クラスへの暗黙の強い参照があります。その場合でも、アダプタの使用方法に注意する必要があります。静的を使用すると、暗黙のリークを見つけるのに役立ちますが、コンテキスト/弱参照を渡す際にオーバーヘッドが加わります。 – lilbyrdie
また、Viewオブジェクトを取得するアダプタへの呼び出しでは、コンテキストを使用できます(View.getContext())。 instanceofを使用して、それがあなたの活動であることを確認することができます。 – lilbyrdie