IOnReceiveContentListener 接口

定义

用于实现插入内容的处理的应用侦听器。

[Android.Runtime.Register("android/view/OnReceiveContentListener", "", "Android.Views.IOnReceiveContentListenerInvoker", ApiSince=31)]
public interface IOnReceiveContentListener : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/view/OnReceiveContentListener", "", "Android.Views.IOnReceiveContentListenerInvoker", ApiSince=31)>]
type IOnReceiveContentListener = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
属性
实现

注解

用于实现插入内容的处理的应用侦听器。 内容可以是文本和非文本(纯/样式的文本、HTML、图像、视频、音频文件等)。

可以使用此侦听器附加到不同类型的 UI 组件 View#setOnReceiveContentListener

下面是一个示例实现,用于处理内容 URI 并将文本的处理委托给 platform:<br>

// (1) Define the listener
            public class MyReceiver implements OnReceiveContentListener {
                public static final String[] MIME_TYPES = new String[] {"image/*", "video/*"};

                &#64;Override
                public ContentInfo onReceiveContent(View view, ContentInfo payload) {
                    Pair&lt;ContentInfo, ContentInfo&gt; split =
                            ContentInfoCompat.partition(payload, item -&gt; item.getUri() != null);
                    ContentInfo uriContent = split.first;
                    ContentInfo remaining = split.second;
                    if (uriContent != null) {
                        ClipData clip = uriContent.getClip();
                        for (int i = 0; i < clip.getItemCount(); i++) {
                            Uri uri = clip.getItemAt(i).getUri();
                            // ... app-specific logic to handle the URI ...
                        }
                    }
                    // Return anything that we didn't handle ourselves. This preserves the default platform
                    // behavior for text and anything else for which we are not implementing custom handling.
                    return remaining;
                }
            }

            // (2) Register the listener
            public class MyActivity extends Activity {
                &#64;Override
                public void onCreate(Bundle savedInstanceState) {
                    // ...

                    EditText myInput = findViewById(R.id.my_input);
                    myInput.setOnReceiveContentListener(MyReceiver.MIME_TYPES, new MyReceiver());
                }

适用于 . 的 android.view.OnReceiveContentListenerJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

属性

Handle

获取基础 Android 对象的 JNI 值。

(继承自 IJavaObject)
JniIdentityHashCode

返回包装实例的值 java.lang.System.identityHashCode()

(继承自 IJavaPeerable)
JniManagedPeerState

托管对等方的状态。

(继承自 IJavaPeerable)
JniPeerMembers

成员访问和调用支持。

(继承自 IJavaPeerable)
PeerReference

返回 JniObjectReference 包装的 Java 对象实例。

(继承自 IJavaPeerable)

方法

Disposed()

在释放实例时调用。

(继承自 IJavaPeerable)
DisposeUnlessReferenced()

如果没有对此实例的未完成引用,则调用 Dispose();否则不执行任何操作。

(继承自 IJavaPeerable)
Finalized()

在实例完成时调用。

(继承自 IJavaPeerable)
OnReceiveContent(View, ContentInfo)

接收给定的内容。

SetJniIdentityHashCode(Int32)

设置由 JniIdentityHashCode. 返回的值。

(继承自 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

用于实现插入内容的处理的应用侦听器。

(继承自 IJavaPeerable)
SetPeerReference(JniObjectReference)

设置由 PeerReference. 返回的值。

(继承自 IJavaPeerable)
UnregisterFromRuntime()

取消注册此实例,以便运行时不会从将来 Java.Interop.JniRuntime+JniValueManager.PeekValue 的调用中返回它。

(继承自 IJavaPeerable)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

用于实现插入内容的处理的应用侦听器。

GetJniTypeName(IJavaPeerable)

用于实现插入内容的处理的应用侦听器。

适用于