반응형
public abstract class AbsFragmentNew<T extends Object> extends Fragment
이런 class를 만들 때 "T"의 데이터 타입을 알아내기 위한 방법
Type superclass = getClass().getGenericSuperclass();
if(superclass instanceof ParameterizedType) {
Type[] genericTypes = ((ParameterizedType) superclass).getActualTypeArguments();
if (genericTypes.length > 0) {
try {
Type genericType = genericTypes[0];
String className = genericType.toString().split(" ")[1];
classType = (Class<T>) Class.forName(className);
} catch (ClassNotFoundException e) {
Log.e(TAG, e);
}
}
}
반응형
'Tech develop > Android' 카테고리의 다른 글
[Android] FragmentTransaction add(), replace() 및 addToBackStack()의 차이점 (0) | 2018.06.14 |
---|---|
[Android] Fragment 의 life cycle (0) | 2018.06.14 |
[android/안드로이드]메모리 로그 메세지 (0) | 2016.04.26 |
[Android/안드로이드]Activity Shared Elements Transitions(액티비티 이동 애니메이션) (0) | 2016.04.25 |
[android]device model info. 기기 모델 정보 가져오기 (0) | 2016.04.14 |