public final class InputMethodManager
extends Object
java.lang.Object | |
↳ | android.view.inputmethod.InputMethodManager |
中央系统API用于总体输入法架构(IMF)架构,用于仲裁应用程序与当前输入法之间的交互。 您可以使用Context.getSystemService()
检索此接口的实例。
涵盖的主题包括:
输入法框架(IMF)架构中涉及三个主要参与方:
在大多数情况下,使用标准TextView
或其子类的应用程序几乎不需要使用软输入方法。 你需要注意的主要事情是:
inputType
in your editable text views, so that the input method will have enough context to help the user in entering text into them. windowSoftInputMode
attribute on your activity or the corresponding values on windows you create to help the system determine whether to pan or resize (it will try to determine this automatically but may get it wrong). windowSoftInputMode
attribute. 通过这里的API可以实现更细粒度的控制,以直接与IMF及其IME交互 - 显示或隐藏输入区域,让用户选择输入方法等。
对于我们中编写自己的文本编辑器的罕见人员,您需要实现 onCreateInputConnection(EditorInfo)
以返回您自己的 InputConnection
界面的新实例,从而允许IME与编辑器进行交互。
输入法(IME)实现为Service
,通常从InputMethodService
。 它必须提供核心InputMethod
接口,但通常由InputMethodService
处理,实现者只需要处理更高级别的API。
InputMethodService
class for more information on implementing IMEs.
输入法存在很多安全问题,因为它们本质上具有完全驱动用户界面和监视用户输入内容的自由。 Android输入法框架还允许任意的第三方IME,因此必须小心限制它们的选择和交互。
以下是IMF背后的安全架构的一些要点:
只允许系统通过BIND_INPUT_METHOD
权限直接访问IME的InputMethod
界面。 这在系统中通过不绑定到不需要此权限的输入法服务来实施,因此系统可以保证其他不受信任的客户端正在访问其控制之外的当前输入法。
国际货币基金组织可能有很多客户流程,但一次只能有一个流动。 不活跃的客户不能通过下面描述的机制与基金组织的关键部分互动。
输入法的客户端只能访问其InputMethodSession
接口。 此接口的一个实例为每个客户端创建,并且只有来自与活动客户端关联的会话的呼叫将由当前IME处理。 对于普通的IME,这由AbstractInputMethodService
执行,但必须由定制原始InputMethodSession
实现的IME明确处理。
只有活动客户端InputConnection
才会接受操作。 IMF告诉每个客户端进程它是否处于活动状态,并且框架强制执行在非活动进程中对当前InputConnection的调用将被忽略。 这确保了当前的IME只能将事件和文本编辑传递给用户认为处于焦点的用户界面。
屏幕关闭时,IME不能与InputConnection
进行交互。 这是通过在屏幕关闭时使所有客户端处于非活动状态来实施的,并且防止坏的IME在用户无法意识到其行为时驱动用户界面。
客户端应用程序可以要求系统让用户选择新的IME,但不能以编程方式自行切换到一个。 这样可以避免恶意应用程序将用户切换到自己的IME,当用户导航到另一个应用程序时,IME仍会继续运行。 一个IME,在另一方面, 被允许在系统编程切换到另一个IME,因为它已经具有用户输入的完全控制。
用户必须在设置之前明确启用新的IME,然后才能切换到该设置,以确认系统是否知道它并希望使其可供使用。
Public methods |
|
---|---|
void |
dispatchKeyEventFromInputMethod(View targetView, KeyEvent event) 提供默认实现 |
void |
displayCompletions(View view, CompletionInfo[] completions) |
InputMethodSubtype |
getCurrentInputMethodSubtype() 返回当前的输入法子类型。 |
List<InputMethodInfo> |
getEnabledInputMethodList() |
List<InputMethodSubtype> |
getEnabledInputMethodSubtypeList(InputMethodInfo imi, boolean allowsImplicitlySelectedSubtypes) 返回指定输入法信息的已启用输入法子类型的列表。 |
List<InputMethodInfo> |
getInputMethodList() |
InputMethodSubtype |
getLastInputMethodSubtype() |
Map<InputMethodInfo, List<InputMethodSubtype>> |
getShortcutInputMethodsAndSubtypes() 返回所有快捷输入法信息及其子类型的映射。 |
void |
hideSoftInputFromInputMethod(IBinder token, int flags) 关闭/隐藏输入法的软输入区域,以便用户不再看到它或可以与之交互。 |
boolean |
hideSoftInputFromWindow(IBinder windowToken, int flags) 没有结果的 |
boolean |
hideSoftInputFromWindow(IBinder windowToken, int flags, ResultReceiver resultReceiver) 请求从当前正在接受输入的窗口的上下文中隐藏软输入窗口。 |
void |
hideStatusIcon(IBinder imeToken) |
boolean |
isAcceptingText() 如果当前提供的视图正在接受全文编辑,则返回true。 |
boolean |
isActive() 如果输入法中当前有任何视图处于活动状态,则返回true。 |
boolean |
isActive(View view) 如果给定视图是输入方法的当前活动视图,则返回true。 |
boolean |
isFullscreenMode() 允许您发现连接的输入法是否以全屏模式运行。 |
boolean |
isWatchingCursor(View view) 此方法在API级别21中已弃用。请改为使用 |
void |
restartInput(View view) 如果输入法当前连接到给定视图,请使用其新内容重新启动它。 |
void |
sendAppPrivateCommand(View view, String action, Bundle data) 使用当前的输入法调用 |
void |
setAdditionalInputMethodSubtypes(String imiId, InputMethodSubtype[] subtypes) 设置其他输入法子类型。 |
boolean |
setCurrentInputMethodSubtype(InputMethodSubtype subtype) 切换到当前输入法的新输入法子类型。 |
void |
setInputMethod(IBinder token, String id) 强制切换到新的输入法组件。 |
void |
setInputMethodAndSubtype(IBinder token, String id, InputMethodSubtype subtype) 强制切换到新的输入法和子类型。 |
boolean |
shouldOfferSwitchingToNextInputMethod(IBinder imeToken) 如果当前IME需要为用户提供切换到下一个输入方法的方法(例如, |
void |
showInputMethodAndSubtypeEnabler(String imiId) 显示启用指定输入法的子类型的设置。 |
void |
showInputMethodPicker() |
boolean |
showSoftInput(View view, int flags, ResultReceiver resultReceiver) 明确要求当前输入法的软输入区域在需要时显示给用户。 |
boolean |
showSoftInput(View view, int flags) 没有结果接收器的 |
void |
showSoftInputFromInputMethod(IBinder token, int flags) 显示输入法的软输入区域,以便用户看到输入法窗口并可以与之交互。 |
void |
showStatusIcon(IBinder imeToken, String packageName, int iconId) |
boolean |
switchToLastInputMethod(IBinder imeToken) 强制切换到上次使用的输入法和子类型。 |
boolean |
switchToNextInputMethod(IBinder imeToken, boolean onlyCurrentIme) 强制切换到下一个输入法和子类型。 |
void |
toggleSoftInput(int showFlags, int hideFlags) |
void |
toggleSoftInputFromWindow(IBinder windowToken, int showFlags, int hideFlags) 此方法切换输入法窗口显示。 |
void |
updateCursor(View view, int left, int top, int right, int bottom) 此方法在API级别21中已弃用。请改为使用 |
void |
updateCursorAnchorInfo(View view, CursorAnchorInfo cursorAnchorInfo) 报告组合字符串中文本插入点和/或字符的位置变化。 |
void |
updateExtractedText(View view, int token, ExtractedText text) |
void |
updateSelection(View view, int selStart, int selEnd, int candidatesStart, int candidatesEnd) 报告当前的选择范围。 |
void |
viewClicked(View view) 当用户点击或点击文本视图时通知事件。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
int HIDE_IMPLICIT_ONLY
标记为 hideSoftInputFromWindow(IBinder, int)
以指示软输入窗口只应在用户未明确显示的情况下隐藏。
常数值:1(0x00000001)
int HIDE_NOT_ALWAYS
标志为 hideSoftInputFromWindow(IBinder, int)
表示通常应该隐藏软输入窗口,除非最初显示为 SHOW_FORCED
。
常量值:2(0x00000002)
int RESULT_HIDDEN
从 showSoftInput(View, int, ResultReceiver)
和 hideSoftInputFromWindow(IBinder, int, ResultReceiver)
的 ResultReceiver
结果代码的 hideSoftInputFromWindow(IBinder, int, ResultReceiver)
:软输入窗口的状态从显示变为隐藏。
常量值:3(0x00000003)
int RESULT_SHOWN
从 showSoftInput(View, int, ResultReceiver)
和 hideSoftInputFromWindow(IBinder, int, ResultReceiver)
的 ResultReceiver
结果代码 hideSoftInputFromWindow(IBinder, int, ResultReceiver)
:软输入窗口的状态从隐藏状态变为显示状态。
常量值:2(0x00000002)
int RESULT_UNCHANGED_HIDDEN
标记为 showSoftInput(View, int, ResultReceiver)
和 hideSoftInputFromWindow(IBinder, int, ResultReceiver)
的 ResultReceiver
结果代码:软输入窗口的状态保持不变并保持隐藏状态。
常数值:1(0x00000001)
int RESULT_UNCHANGED_SHOWN
从 showSoftInput(View, int, ResultReceiver)
和 hideSoftInputFromWindow(IBinder, int, ResultReceiver)
的 ResultReceiver
结果代码的 hideSoftInputFromWindow(IBinder, int, ResultReceiver)
:软输入窗口的状态保持不变并保持显示。
常量值:0(0x00000000)
int SHOW_FORCED
标记为 showSoftInput(View, int)
以指示用户已强制输入方法处于打开状态(例如通过长按菜单),以便在明确这样做之前不应关闭它。
常量值:2(0x00000002)
int SHOW_IMPLICIT
标记为showSoftInput(View, int)
以指示这是隐式的请求来显示输入窗口,而不是用户的直接请求的结果。 在这种情况下可能不会显示窗口。
常数值:1(0x00000001)
void dispatchKeyEventFromInputMethod (View targetView, KeyEvent event)
提供默认实现 sendKeyEvent(KeyEvent)
,根据给定的 View
和当前焦点状态,预计将从IME发送的键盘事件分派到适当的事件目标。
小心:此方法仅适用于不依赖sendKeyEvent(KeyEvent)
需要实施BaseInputConnection
。 不要将此API用于其他任何事情。
Parameters | |
---|---|
targetView |
View : the default target view. If null is specified, then this method tries to find a good event target based on the current focus state. |
event |
KeyEvent : the key event to be dispatched. |
void displayCompletions (View view, CompletionInfo[] completions)
Parameters | |
---|---|
view |
View
|
completions |
CompletionInfo
|
InputMethodSubtype getCurrentInputMethodSubtype ()
返回当前的输入法子类型。 这个子类型是当前输入法中的一个子类型。 当前输入法没有任何输入法子类型时,此方法返回null。
Returns | |
---|---|
InputMethodSubtype |
List<InputMethodInfo> getEnabledInputMethodList ()
Returns | |
---|---|
List<InputMethodInfo> |
List<InputMethodSubtype> getEnabledInputMethodSubtypeList (InputMethodInfo imi, boolean allowsImplicitlySelectedSubtypes)
返回指定输入法信息的已启用输入法子类型的列表。
Parameters | |
---|---|
imi |
InputMethodInfo : An input method info whose subtypes list will be returned. |
allowsImplicitlySelectedSubtypes |
boolean : A boolean flag to allow to return the implicitly selected subtypes. If an input method info doesn't have enabled subtypes, the framework will implicitly enable subtypes according to the current system language. |
Returns | |
---|---|
List<InputMethodSubtype> |
List<InputMethodInfo> getInputMethodList ()
Returns | |
---|---|
List<InputMethodInfo> |
InputMethodSubtype getLastInputMethodSubtype ()
Returns | |
---|---|
InputMethodSubtype |
Map<InputMethodInfo, List<InputMethodSubtype>> getShortcutInputMethodsAndSubtypes ()
返回所有快捷输入法信息及其子类型的映射。
Returns | |
---|---|
Map<InputMethodInfo, List<InputMethodSubtype>> |
void hideSoftInputFromInputMethod (IBinder token, int flags)
关闭/隐藏输入法的软输入区域,以便用户不再看到它或可以与之交互。 这只能从当前活动的输入方法调用,由给定的令牌验证。
Parameters | |
---|---|
token |
IBinder : Supplies the identifying token given to an input method when it was started, which allows it to perform this operation on itself. |
flags |
int : Provides additional operating flags. Currently may be 0 or have the HIDE_IMPLICIT_ONLY , HIDE_NOT_ALWAYS bit set. |
boolean hideSoftInputFromWindow (IBinder windowToken, int flags)
没有结果的 hideSoftInputFromWindow(IBinder, int, ResultReceiver)
同义词:请求从当前正在接受输入的窗口的上下文中隐藏软输入窗口。
Parameters | |
---|---|
windowToken |
IBinder : The token of the window that is making the request, as returned by View.getWindowToken() . |
flags |
int : Provides additional operating flags. Currently may be 0 or have the HIDE_IMPLICIT_ONLY bit set. |
Returns | |
---|---|
boolean |
boolean hideSoftInputFromWindow (IBinder windowToken, int flags, ResultReceiver resultReceiver)
请求从当前正在接受输入的窗口的上下文中隐藏软输入窗口。 这应该被称为用户执行一些事情的结果,而不是显式请求隐藏输入窗口的结果。
警告: ResultReceiver
传递给此方法的实例可能是一个长寿命的对象,因为它可能不会被垃圾收集,直到所有对应的ResultReceiver
对象转移到不同的进程都会被垃圾回收。 遵循一般模式来避免Android中的内存泄漏。 考虑使用WeakReference
以便应用逻辑对象(如Activity
和Context
可以进行垃圾回收,无论ResultReceiver
的生命周期ResultReceiver
。
Parameters | |
---|---|
windowToken |
IBinder : The token of the window that is making the request, as returned by View.getWindowToken() . |
flags |
int : Provides additional operating flags. Currently may be 0 or have the HIDE_IMPLICIT_ONLY bit set. |
resultReceiver |
ResultReceiver : If non-null, this will be called by the IME when it has processed your request to tell you what it has done. The result code you receive may be either RESULT_UNCHANGED_SHOWN , RESULT_UNCHANGED_HIDDEN , RESULT_SHOWN , or RESULT_HIDDEN . |
Returns | |
---|---|
boolean |
void hideStatusIcon (IBinder imeToken)
Parameters | |
---|---|
imeToken |
IBinder
|
boolean isAcceptingText ()
如果当前提供的视图正在接受全文编辑,则返回true。 如果为false,则它没有输入连接,所以只能处理原始键事件。
Returns | |
---|---|
boolean |
boolean isActive (View view)
如果给定视图是输入方法的当前活动视图,则返回true。
Parameters | |
---|---|
view |
View
|
Returns | |
---|---|
boolean |
boolean isFullscreenMode ()
允许您发现连接的输入法是否以全屏模式运行。 如果是全屏,则返回true,完全覆盖您的UI,否则返回false。
Returns | |
---|---|
boolean |
boolean isWatchingCursor (View view)
此方法在API级别21中已弃用。
改为使用requestCursorUpdates(int)
。
如果当前输入方法想要在其窗口中观察输入编辑器的光标位置,则返回true。
Parameters | |
---|---|
view |
View
|
Returns | |
---|---|
boolean |
void restartInput (View view)
如果输入法当前连接到给定视图,请使用其新内容重新启动它。 当视图中的文本更改为正常输入方法或键输入流程之外时,例如应用程序调用TextView.setText()时,应该调用此方法。
Parameters | |
---|---|
view |
View : The view whose text has changed. |
void sendAppPrivateCommand (View view, String action, Bundle data)
使用当前的输入法调用 InputMethodSession.appPrivateCommand()
。
Parameters | |
---|---|
view |
View : Optional View that is sending the command, or null if you want to send the command regardless of the view that is attached to the input method. |
action |
String : Name of the command to be performed. This must be a scoped name, i.e. prefixed with a package name you own, so that different developers will not create conflicting commands. |
data |
Bundle : Any data to include with the command. |
void setAdditionalInputMethodSubtypes (String imiId, InputMethodSubtype[] subtypes)
设置其他输入法子类型。 只有与IME共享相同uid的进程可以将其他输入方法子类型添加到IME。 请注意,子类型的状态存储在系统中。 例如,启用的子类型即使在使用此方法删除之后也会被框架记住。 如果您再次重新添加相同的子类型,它们只会被启用。 例如,如果你想避免这种冲突,你可能希望通过改变其额外的值来创建一个“不同的”新的子类型,即使是相同的语言环境和模式。 不同的子类型不会受到存储的过去状态的影响。 (你可能想看看hashCode()
来指代当前的实现。)
注:如果清单XML文件和 subtypes
指定的其他子类型中都存在相同的子类型,则这些多个实例会自动合并为一个实例。
CAVEAT:在API Level 23及之前版本中,如果在InputMethodSubtype
中指定了空的InputMethodSubtype
,则系统可能InputMethodSubtype
执行任何subtypes
,从而无法删除其他子类型的最后一个条目。 如果IME在清单XML文件中静态定义一个或多subtypes
类型,则可以通过在subtypes
指定其中一种静态定义的子类型来解决此限制。
Parameters | |
---|---|
imiId |
String : Id of InputMethodInfo which additional input method subtypes will be added to. |
subtypes |
InputMethodSubtype : subtypes will be added as additional subtypes of the current input method. |
boolean setCurrentInputMethodSubtype (InputMethodSubtype subtype)
切换到当前输入法的新输入法子类型。
Parameters | |
---|---|
subtype |
InputMethodSubtype : A new input method subtype to switch. |
Returns | |
---|---|
boolean |
true if the current subtype was successfully switched. When the specified subtype is null, this method returns false. |
void setInputMethod (IBinder token, String id)
强制切换到新的输入法组件。 这只能从具有当前活动输入法标记的应用程序或服务中调用。
Parameters | |
---|---|
token |
IBinder : Supplies the identifying token given to an input method when it was started, which allows it to perform this operation on itself. |
id |
String : The unique identifier for the new input method to be switched to. |
void setInputMethodAndSubtype (IBinder token, String id, InputMethodSubtype subtype)
强制切换到新的输入法和子类型。 这只能从具有当前活动输入法标记的应用程序或服务中调用。
Parameters | |
---|---|
token |
IBinder : Supplies the identifying token given to an input method when it was started, which allows it to perform this operation on itself. |
id |
String : The unique identifier for the new input method to be switched to. |
subtype |
InputMethodSubtype : The new subtype of the new input method to be switched to. |
boolean shouldOfferSwitchingToNextInputMethod (IBinder imeToken)
如果当前IME需要为用户提供切换到下一个输入方法(例如全局密钥)的方法,则返回true。 当IME设置supportsSwitchingToNextInputMethod并且此方法返回true时,IME必须提供相应调用switchToNextInputMethod(IBinder, boolean)
方法。
请注意,系统会确定最适合的下一个输入方法和子类型,以便在切换IME和子类型时提供一致的用户体验。
Parameters | |
---|---|
imeToken |
IBinder : Supplies the identifying token given to an input method when it was started, which allows it to perform this operation on itself. |
Returns | |
---|---|
boolean |
void showInputMethodAndSubtypeEnabler (String imiId)
显示启用指定输入法的子类型的设置。
Parameters | |
---|---|
imiId |
String : An input method, whose subtypes settings will be shown. If imiId is null, subtypes of all input methods will be shown. |
boolean showSoftInput (View view, int flags, ResultReceiver resultReceiver)
明确要求当前输入法的软输入区域在需要时显示给用户。 如果用户与您的视图进行交互,并以表示他们希望开始对其执行输入的方式,请调用此方法。
警告: ResultReceiver
传递给此方法的实例可能是一个长寿命的对象,因为它可能不会被垃圾收集,直到所有对应的ResultReceiver
对象转移到不同的进程都会被垃圾回收。 遵循一般模式来避免Android中的内存泄漏。 考虑使用WeakReference
以便应用程序逻辑对象(如Activity
和Context
可以被垃圾收集,无论ResultReceiver
的生命周期ResultReceiver
。
Parameters | |
---|---|
view |
View : The currently focused view, which would like to receive soft keyboard input. |
flags |
int : Provides additional operating flags. Currently may be 0 or have the SHOW_IMPLICIT bit set. |
resultReceiver |
ResultReceiver : If non-null, this will be called by the IME when it has processed your request to tell you what it has done. The result code you receive may be either RESULT_UNCHANGED_SHOWN , RESULT_UNCHANGED_HIDDEN , RESULT_SHOWN , or RESULT_HIDDEN . |
Returns | |
---|---|
boolean |
boolean showSoftInput (View view, int flags)
没有结果接收器的 showSoftInput(View, int, ResultReceiver)
同义词:明确要求当前输入法的软输入区域在需要时显示给用户。
Parameters | |
---|---|
view |
View : The currently focused view, which would like to receive soft keyboard input. |
flags |
int : Provides additional operating flags. Currently may be 0 or have the SHOW_IMPLICIT bit set. |
Returns | |
---|---|
boolean |
void showSoftInputFromInputMethod (IBinder token, int flags)
显示输入法的软输入区域,以便用户看到输入法窗口并可以与之交互。 这只能从当前活动的输入方法调用,由给定的令牌验证。
Parameters | |
---|---|
token |
IBinder : Supplies the identifying token given to an input method when it was started, which allows it to perform this operation on itself. |
flags |
int : Provides additional operating flags. Currently may be 0 or have the SHOW_IMPLICIT or SHOW_FORCED bit set. |
void showStatusIcon (IBinder imeToken, String packageName, int iconId)
Parameters | |
---|---|
imeToken |
IBinder
|
packageName |
String
|
iconId |
int
|
boolean switchToLastInputMethod (IBinder imeToken)
强制切换到上次使用的输入法和子类型。 如果最后一个输入方法没有任何子类型,框架将简单地切换到最后一个没有指定子类型的输入方法。
Parameters | |
---|---|
imeToken |
IBinder : Supplies the identifying token given to an input method when it was started, which allows it to perform this operation on itself. |
Returns | |
---|---|
boolean |
true if the current input method and subtype was successfully switched to the last used input method and subtype. |
boolean switchToNextInputMethod (IBinder imeToken, boolean onlyCurrentIme)
强制切换到下一个输入法和子类型。 如果除当前的IME和子类型之外没有启用IME,则不执行任何操作。
Parameters | |
---|---|
imeToken |
IBinder : Supplies the identifying token given to an input method when it was started, which allows it to perform this operation on itself. |
onlyCurrentIme |
boolean : if true, the framework will find the next subtype which belongs to the current IME |
Returns | |
---|---|
boolean |
true if the current input method and subtype was successfully switched to the next input method and subtype. |
void toggleSoftInput (int showFlags, int hideFlags)
Parameters | |
---|---|
showFlags |
int
|
hideFlags |
int
|
void toggleSoftInputFromWindow (IBinder windowToken, int showFlags, int hideFlags)
此方法切换输入法窗口显示。 如果输入窗口已经显示,则隐藏。 如果不是,则会显示输入窗口。
Parameters | |
---|---|
windowToken |
IBinder : The token of the window that is making the request, as returned by View.getWindowToken() . |
showFlags |
int : Provides additional operating flags. May be 0 or have the SHOW_IMPLICIT , SHOW_FORCED bit set. |
hideFlags |
int : Provides additional operating flags. May be 0 or have the HIDE_IMPLICIT_ONLY , HIDE_NOT_ALWAYS bit set. |
void updateCursor (View view, int left, int top, int right, int bottom)
此方法在API级别21中已弃用。
改为使用updateCursorAnchorInfo(View, CursorAnchorInfo)
。
在窗口中报告当前的光标位置。
Parameters | |
---|---|
view |
View
|
left |
int
|
top |
int
|
right |
int
|
bottom |
int
|
void updateCursorAnchorInfo (View view, CursorAnchorInfo cursorAnchorInfo)
报告组合字符串中文本插入点和/或字符的位置变化。
Parameters | |
---|---|
view |
View
|
cursorAnchorInfo |
CursorAnchorInfo
|
void updateExtractedText (View view, int token, ExtractedText text)
Parameters | |
---|---|
view |
View
|
token |
int
|
text |
ExtractedText
|
void updateSelection (View view, int selStart, int selEnd, int candidatesStart, int candidatesEnd)
报告当前的选择范围。
编辑器作者 ,只要光标在你的编辑器中移动,你就需要调用这个方法。 请记住,除此之外,每次调用initialSelEnd
时,编辑器都需要始终提供initialSelStart
和initialSelEnd
当前光标值,这种情况在键盘出现或焦点更改为文本字段时发生, onCreateInputConnection(EditorInfo)
。
Parameters | |
---|---|
view |
View
|
selStart |
int
|
selEnd |
int
|
candidatesStart |
int
|
candidatesEnd |
int
|
void viewClicked (View view)
当用户点击或点击文本视图时通知事件。
Parameters | |
---|---|
view |
View
|