从 onItemClick 确定 AutoCompleteTextView [英] Determine AutoCompleteTextView from onItemClick

查看:13
本文介绍了从 onItemClick 确定 AutoCompleteTextView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以从回调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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆