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

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

问题描述

是否有可能从回调的参数onItemClick?

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) {
}

我知道,我可以实施自己的每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?

推荐答案

我没有正面回答这个问题(我认为这是不可能的)。但我用的解决方法来达到同样的目的(找到 AutoCompleteTextView 从内部onItemClick):

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 作为第二参数(而不是原始的查看参数)。

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;

       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));

现在,每当onItemClicked由TextView的触发,而不是原来的视图值的参考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天全站免登陆