У меня есть одноэлементный класс, и я хочу передать ему weak
ссылку на действие.
Действие реализует интерфейс, и все действия будут реализовывать этот интерфейс, поэтому я хочу передать interface type
в синглтон-класс.
Это то, что я делаю.
Интерфейс
public interface IAnalytics {
String getAnalyticViewName();
}
Класс Singleton
public static AnalyticsWrapper getInstance(WeakReference<IAnalytics> iAnalytics) {
IAnalytics activityObject = iAnalytics.get();
activityName = activityObject.getAnalyticViewName();
}
MainActivity
public class MainActivity extends AppCompatActivity implements IAnalytics{
private WeakReference<MainActivity> weakReference;
protected void onCreate(Bundle savedInstanceState) {
AnalyticsWrapper analyticsWrapper= AnalyticsWrapper.getInstance(weakReference);
}
}
Эта проблема заключается в том, что когда я передаю this
на AnalyticsWrapper
, он говорит, чтобы изменить тип getInstance()
на weakReference<MainActivity>