blob: a518e7f336a81f488330a8cd17ab18bd1b91fee2 [file] [log] [blame]
<html devsite="true">
<head>
<title>FragmentFactory</title>
{% setvar book_path %}/reference/kotlin/androidx/_book.yaml{% endsetvar %}
{% include "_shared/_reference-head-tags.html" %}
</head>
<body>
<div id="metadata-info-block"></div>
<h1>FragmentFactory</h1>
<p>
<pre>class <a href="/reference/kotlin/androidx/fragment/app/FragmentFactory.html">FragmentFactory</a></pre>
</p>
<hr>
<p>Interface used to control the instantiation of <code><a href="/reference/kotlin/androidx/fragment/app/Fragment.html">Fragment</a></code> instances. Implementations can be registered with a <code><a href="/reference/kotlin/androidx/fragment/app/FragmentManager.html">FragmentManager</a></code> via <code><a href="/reference/kotlin/androidx/fragment/app/FragmentManager.html#setFragmentFactory(androidx.fragment.app.FragmentFactory)">setFragmentFactory</a></code>.</p>
<div class="devsite-table-wrapper">
<table class="responsive">
<thead>
<tr>
<th colspan="100%">See also</th>
</tr>
</thead>
<tbody class="list">
<tr>
<td width="40%"><code><a href="/reference/kotlin/androidx/fragment/app/FragmentManager.html#setFragmentFactory(androidx.fragment.app.FragmentFactory)">setFragmentFactory</a></code></td>
<td></td>
</tr>
</tbody>
</table>
</div>
<h2>Summary</h2>
<div class="devsite-table-wrapper">
<table class="responsive">
<thead>
<tr>
<th colspan="100%"><h3>Public constructors</h3></th>
</tr>
</thead>
<tbody class="list">
<tr>
<td>
<div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentFactory.html#FragmentFactory()">FragmentFactory</a>()</code></div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="devsite-table-wrapper">
<table class="responsive">
<thead>
<tr>
<th colspan="100%"><h3>Public functions</h3></th>
</tr>
</thead>
<tbody class="list">
<tr>
<td width="40%"><code><a href="/reference/kotlin/androidx/fragment/app/Fragment.html">Fragment</a></code></td>
<td>
<div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentFactory.html#instantiate(java.lang.ClassLoader,java.lang.String)">instantiate</a>(classLoader:&nbsp;<a href="https://developer.android.com/reference/java/lang/ClassLoader.html">ClassLoader</a>,&nbsp;className:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>)</code></div>
<p>Create a new instance of a Fragment with the given class name.</p>
</td>
</tr>
<tr>
<td width="40%"><code>java-static <a href="https://developer.android.com/reference/java/lang/Class.html">Class</a>&lt;<a href="/reference/kotlin/androidx/fragment/app/Fragment.html">Fragment</a>!&gt;</code></td>
<td>
<div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentFactory.html#loadFragmentClass(java.lang.ClassLoader,java.lang.String)">loadFragmentClass</a>(classLoader:&nbsp;<a href="https://developer.android.com/reference/java/lang/ClassLoader.html">ClassLoader</a>,&nbsp;className:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>)</code></div>
<p>Parse a Fragment Class from the given class name.</p>
</td>
</tr>
</tbody>
</table>
</div>
<h2>Public constructors</h2>
<div><a name="FragmentFactory--"></a><a name="fragmentfactory"></a>
<h3 class="api-name" id="FragmentFactory()">FragmentFactory</h3>
<pre class="api-signature no-pretty-print"><a href="/reference/kotlin/androidx/fragment/app/FragmentFactory.html#FragmentFactory()">FragmentFactory</a>()</pre>
</div>
<h2>Public functions</h2>
<div><a name="instantiate(java.lang.ClassLoader, java.lang.String)"></a><a name="instantiate-java.lang.ClassLoader-java.lang.String-"></a><a name="instantiate"></a>
<h3 class="api-name" id="instantiate(java.lang.ClassLoader,java.lang.String)">instantiate</h3>
<pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentFactory.html#instantiate(java.lang.ClassLoader,java.lang.String)">instantiate</a>(classLoader:&nbsp;<a href="https://developer.android.com/reference/java/lang/ClassLoader.html">ClassLoader</a>,&nbsp;className:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>):&nbsp;<a href="/reference/kotlin/androidx/fragment/app/Fragment.html">Fragment</a></pre>
<p>Create a new instance of a Fragment with the given class name. This uses <code><a href="/reference/kotlin/androidx/fragment/app/FragmentFactory.html#loadFragmentClass(java.lang.ClassLoader,java.lang.String)">loadFragmentClass</a></code> and the empty constructor of the resulting Class by default.</p>
<div class="devsite-table-wrapper">
<table class="responsive">
<thead>
<tr>
<th colspan="100%">Parameters</th>
</tr>
</thead>
<tbody class="list">
<tr>
<td width="40%"><code>classLoader:&nbsp;<a href="https://developer.android.com/reference/java/lang/ClassLoader.html">ClassLoader</a></code></td>
<td>
<p>The default classloader to use for instantiation</p>
</td>
</tr>
<tr>
<td width="40%"><code>className:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a></code></td>
<td>
<p>The class name of the fragment to instantiate.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="devsite-table-wrapper">
<table class="responsive">
<thead>
<tr>
<th colspan="100%">Returns</th>
</tr>
</thead>
<tbody class="list">
<tr>
<td width="40%"><code><a href="/reference/kotlin/androidx/fragment/app/Fragment.html">Fragment</a></code></td>
<td>
<p>Returns a new fragment instance.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="devsite-table-wrapper">
<table class="responsive">
<thead>
<tr>
<th colspan="100%">Throws</th>
</tr>
</thead>
<tbody class="list">
<tr>
<td width="40%"><code>androidx.fragment.app.Fragment.InstantiationException:&nbsp;<a href="/reference/kotlin/androidx/fragment/app/Fragment.InstantiationException.html">androidx.fragment.app.Fragment.InstantiationException</a></code></td>
<td>
<p>If there is a failure in instantiating the given fragment class. This is a runtime exception; it is not normally expected to happen.</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div><a name="loadFragmentClass(java.lang.ClassLoader, java.lang.String)"></a><a name="loadFragmentClass-java.lang.ClassLoader-java.lang.String-"></a><a name="loadfragmentclass"></a>
<h3 class="api-name" id="loadFragmentClass(java.lang.ClassLoader,java.lang.String)">loadFragmentClass</h3>
<pre class="api-signature no-pretty-print">java-static&nbsp;fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentFactory.html#loadFragmentClass(java.lang.ClassLoader,java.lang.String)">loadFragmentClass</a>(classLoader:&nbsp;<a href="https://developer.android.com/reference/java/lang/ClassLoader.html">ClassLoader</a>,&nbsp;className:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>):&nbsp;<a href="https://developer.android.com/reference/java/lang/Class.html">Class</a>&lt;<a href="/reference/kotlin/androidx/fragment/app/Fragment.html">Fragment</a>!&gt;</pre>
<p>Parse a Fragment Class from the given class name. The resulting Class is kept in a global cache, bypassing the <code><a href="https://developer.android.com/reference/java/lang/Class.html#forName(java.lang.String)">forName</a></code> calls when passed the same class name again.</p>
<div class="devsite-table-wrapper">
<table class="responsive">
<thead>
<tr>
<th colspan="100%">Parameters</th>
</tr>
</thead>
<tbody class="list">
<tr>
<td width="40%"><code>classLoader:&nbsp;<a href="https://developer.android.com/reference/java/lang/ClassLoader.html">ClassLoader</a></code></td>
<td>
<p>The default classloader to use for loading the Class</p>
</td>
</tr>
<tr>
<td width="40%"><code>className:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a></code></td>
<td>
<p>The class name of the fragment to parse.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="devsite-table-wrapper">
<table class="responsive">
<thead>
<tr>
<th colspan="100%">Returns</th>
</tr>
</thead>
<tbody class="list">
<tr>
<td width="40%"><code><a href="https://developer.android.com/reference/java/lang/Class.html">Class</a>&lt;<a href="/reference/kotlin/androidx/fragment/app/Fragment.html">Fragment</a>!&gt;</code></td>
<td>
<p>Returns the parsed Fragment Class</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="devsite-table-wrapper">
<table class="responsive">
<thead>
<tr>
<th colspan="100%">Throws</th>
</tr>
</thead>
<tbody class="list">
<tr>
<td width="40%"><code>androidx.fragment.app.Fragment.InstantiationException:&nbsp;<a href="/reference/kotlin/androidx/fragment/app/Fragment.InstantiationException.html">androidx.fragment.app.Fragment.InstantiationException</a></code></td>
<td>
<p>If there is a failure in parsing the given fragment class. This is a runtime exception; it is not normally expected to happen.</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>