从 onItemClick 确定 AutoCompleteTextView [英] Determine AutoCompleteTextView from onItemClick
问题描述
是否可以从回调onItemClick的参数中判断出发起的AutoCompleteTextView?
Is it possible to determine the originating AutoCompleteTextView from the parameters of the callback onItemClick?
我有以下回调函数,如果我点击AutoCompleteTextView的选择弹出窗口的一个项目就会正确触发:
I have the following callback function, which is correctly triggered if I click on an item of the selection-popup-window of the AutoCompleteTextView:
public void onItemClick(AdapterView<?> adaptView, View view, int position,
long id) {
}
我知道,我可以实现自己的 per-textview 侦听器类,但我想确定哪个 AutoCompleteTextView仅从回调函数的参数启动点击 - 这可能吗?
I know, that I can implement an own per-textview listener class, but I would like to determine which AutoCompleteTextView initiated the click solely from the parameters of the callback function - is this possible?
推荐答案
我对这个问题没有肯定的答案(我认为这是不可能的).但是我使用了一种解决方法来达到相同的目标(从 onItemClick 中找到 AutoCompleteTextView
):
I do not have a positive answer to the question (I think it is not possible). But I use a workaround to reach the same goal (find AutoCompleteTextView
from within onItemClick):
我定义了以下类,可用于修改 onItemClick
调用以提供 AutoCompleteTextView
作为第二个参数(而不是原来的 View
参数).
I defined the following class, which can be used to modify the onItemClick
call to provide the AutoCompleteTextView
as second parameter (instead of original View
param).
public class AutoCompleteTextViewClickListener implements OnItemClickListener {
AutoCompleteTextView mAutoComplete;
OnItemClickListener mOriginalListener;
public AutoCompleteTextViewClickListener(AutoCompleteTextView acTextView,
OnItemClickListener originalListener) {
mAutoComplete = acTextView;
mOriginalListener = originalListener;
}
public void onItemClick(AdapterView<?> adView, View view, int position,
long id) {
mOriginalListener.onItemClick(adView, mAutoComplete, position, id);
}
}
这可以通过以下方式使用:
This can be used in the following way:
代替
myTextView.setOnItemClickListener(myListener);
你必须写:
myTextView.setOnItemClickListener(
new AutoCompleteTextViewClickListener(myTextView, myListener));
现在,只要 TextView 触发 onItemClicked,就可以使用对 AutoCompleteTextView 的引用,而不是原始视图值.
Now, whenever onItemClicked is triggered by the TextView, instead of the original view value the reference to the AutoCompleteTextView is available.
这篇关于从 onItemClick 确定 AutoCompleteTextView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!