java - Instancaite an instance of the child class from the parent -
first of, sorry vague title cannot think how word this, please edit in improve title if think of one.
i have helper fragment class (masterfragment), never used it, extended, , in there method.
public static masterfragment newinstance(bundle bundle) { masterfragment masterfragment = new masterfragment(); masterfragment.setarguments(bundle); homecoming masterfragment; } when extend this, lets phone call class extendedmasterfragment, can create newinstance method homecoming instance of extendedmasterfragment instead of masterfragment?
edit: work around have this.
public static masterfragment newinstance(bundle bundle, masterfragment masterfragment) { masterfragment.setarguments(bundle); homecoming masterfragment; } and called like
return listexamplefragment.newinstance(null, new listexamplefragment()); but i'd rather have newinstance work out class if possible
you, absolutely, can have newinstance method homecoming instances of subclasses:
public enum type { this, that, other; } public static masterfragment newinstance(bundle bundle, type type) { masterfragment frag; switch (type) { case this: frag = new thisfrag(); break; // ... } frag.setarguments(bundle); homecoming frag; } on other hand, homecoming type of mill method masterfragment. have cast (ewwwieee) if need actual type of instance.
you can this, though really, ugly:
public static <t extends masterfragment> t newinstance(bundle bundle, type type) { masterfragment frag; switch (type) { case this: frag = new thisfrag(); break; // ... } frag.setarguments(bundle); homecoming (t) frag; // type conversion warning here. } if utilize generics, work:
thisfrag frag = newinstance(new bundle(), type.this); yuk. sorry mentioned it.
java android
No comments:
Post a Comment