am 4f59a921
: am 12fd0f16
: am f6a0c116
: am 9bf1a139
: am 72c5e376
: am ba1ae3af
: am 42786418
: Don\'t instantiate non-Fragments in Fragment.instantiate
* commit '4f59a9216e76207a7003bfe010076aa78eee629a': Don't instantiate non-Fragments in Fragment.instantiate
This commit is contained in:
@ -580,6 +580,10 @@ public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListene
|
|||||||
if (clazz == null) {
|
if (clazz == null) {
|
||||||
// Class not found in the cache, see if it's real, and try to add it
|
// Class not found in the cache, see if it's real, and try to add it
|
||||||
clazz = context.getClassLoader().loadClass(fname);
|
clazz = context.getClassLoader().loadClass(fname);
|
||||||
|
if (!Fragment.class.isAssignableFrom(clazz)) {
|
||||||
|
throw new InstantiationException("Trying to instantiate a class " + fname
|
||||||
|
+ " that is not a Fragment", new ClassCastException());
|
||||||
|
}
|
||||||
sClassMap.put(fname, clazz);
|
sClassMap.put(fname, clazz);
|
||||||
}
|
}
|
||||||
Fragment f = (Fragment)clazz.newInstance();
|
Fragment f = (Fragment)clazz.newInstance();
|
||||||
|
Reference in New Issue
Block a user