tôi đang làm việc trên một ứng dụng Android và tôi đang cố gắng để tiêm một lĩnh vực mà là gõ tham số trong một lớp trừu tượng: BaseListFragmentdao găm không thể tiêm loại tham số lĩnh vực
public abstract class BaseListFragment<E, A extends ArrayAdapter<E>, S> extends BaseFragment
{
@Inject protected S service;
}
Nhưng tôi có được điều này báo lỗi sau tại biên dịch: lỗi: không thể tìm thấy lớp biểu tượng S
đây là mã của tôi cho BaseFragment:
public class BaseFragment extends Fragment
{
@Override public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
((App) getActivity().getApplication()).inject(this);
}
}
đây là mô-đun dịch vụ của tôi:
@Module(
complete = false,
library = true
)
public class ServiceModule
{
@Provides @Singleton BucketService provideBucketService(RestAdapter restAdapter)
{
return restAdapter.create(BucketService.class);
}
@Provides @Singleton ProjectService provideProjectService(RestAdapter restAdapter)
{
return restAdapter.create(ProjectService.class);
}
@Provides @Singleton ShotService provideShotService(RestAdapter restAdapter)
{
return restAdapter.create(ShotService.class);
}
@Provides @Singleton TeamService provideTeamService(RestAdapter restAdapter)
{
return restAdapter.create(TeamService.class);
}
@Provides @Singleton UserService provideUserService(RestAdapter restAdapter)
{
return restAdapter.create(UserService.class);
}
}
Và đây là một ví dụ về một lớp học kéo dài BaseListFragment:
public class ProjectFragment extends BaseEntityFragment<Project, ProjectViewAdapter, ProjectService>
{
}
Liệu có cách nào để tiêm một loại tham số?
Kính trọng,