<html devsite="true">
  <head>
    <title>Fraggy</title>
{% setvar book_path %}/reference/dokkatest/_book.yaml{% endsetvar %}
{% include "_shared/_reference-head-tags.html" %}
  </head>
  <body>
    <h1>Fraggy</h1>
{% setvar page_path %}dokkatest/simple/Fraggy.html{% endsetvar %}
{% setvar can_switch %}1{% endsetvar %}
{% include "reference/_java_switcher2.md" %}
    <p>
      <pre> class Fraggy</pre>
    </p>
    <hr>
    <h2>Summary</h2>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <thead>
          <tr>
            <th colspan="2"><h3>Public methods</h3></th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td><code>final @<a href="/reference/org/jetbrains/annotations/NotNull.html">NotNull</a>&nbsp;<a href="https://developer.android.com/reference/java/util/List.html">List</a>&lt;I&gt;</code></td>
            <td width="100%">
              <div><code>&lt;I,&nbsp;O&gt; <a href="/reference/dokkatest/simple/Fraggy.html#registerForActivityResult(java.util.Map&lt;I,O&gt;,java.util.List&lt;O&gt;)">registerForActivityResult</a>(<a href="https://developer.android.com/reference/java/util/Map.html">Map</a>&lt;I,&nbsp;O&gt;&nbsp;contract,&nbsp;<a href="https://developer.android.com/reference/java/util/List.html">List</a>&lt;O&gt;&nbsp;callback)</code></div>
              <p>(this is a real function, vastly simplified from the source in Fragment.java)</p>
              <p>If the host of this fragment is an &lt; the <code><a href="https://developer.android.com/reference/java/util/Map.html">Map</a></code> of the host will be used.</p>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <h2>Public methods</h2>
    <div><a name="registerForActivityResult(java.util.Map&lt;I,O&gt;, java.util.List&lt;O&gt;)"></a><a name="registerForActivityResult-java.util.Map&lt;I,O&gt;-java.util.List&lt;O&gt;-"></a>
      <h3 class="api-name" id="registerForActivityResult(java.util.Map&lt;I,O&gt;,java.util.List&lt;O&gt;)">registerForActivityResult</h3>
      <pre class="api-signature no-pretty-print">@<a href="/reference/org/jetbrains/annotations/NotNull.html">NotNull</a><br>public&nbsp;final&nbsp;@<a href="/reference/org/jetbrains/annotations/NotNull.html">NotNull</a>&nbsp;<a href="https://developer.android.com/reference/java/util/List.html">List</a>&lt;I&gt;&nbsp;&lt;I,&nbsp;O&gt; <a href="/reference/dokkatest/simple/Fraggy.html#registerForActivityResult(java.util.Map&lt;I,O&gt;,java.util.List&lt;O&gt;)">registerForActivityResult</a>(<a href="https://developer.android.com/reference/java/util/Map.html">Map</a>&lt;I,&nbsp;O&gt;&nbsp;contract,&nbsp;<a href="https://developer.android.com/reference/java/util/List.html">List</a>&lt;O&gt;&nbsp;callback)</pre>
      <p>(this is a real function, vastly simplified from the source in Fragment.java)</p>
      <p>If the host of this fragment is an &lt; the <code><a href="https://developer.android.com/reference/java/util/Map.html">Map</a></code> of the host will be used. Otherwise, this will use theregistry of the Fragment's Activity.</p>
    </div>
  </body>
</html>
