【问题标题】:Fire onItemClick event without the user do something在用户不做某事的情况下触发 onItemClick 事件
【发布时间】:2020-08-15 07:16:24
【问题描述】:

所以我有一个 AutoCompleteTextview 可以正常工作,但我想知道如何强制执行特定选项。 意思是使用setText()之类的东西,但是setText对我来说不好,因为它不会激活onItemClick事件,而这正是我要激活的。

myAutoCompleteTextView.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parentView, View selectedItemView,                                                   ()int position, long id) {
               // do something...
   }
});

感谢您的帮助。

【问题讨论】:

  • 你的意思是你想以编程方式调用onItemClick函数?
  • 为此你可以使用AsynchTask。
  • @Abhishek 是的 Abhishek。正是!
  • @Abhishek 谢谢,但您提供的链接指向 ListView 示例。我的问题是关于 AutoCompleteTextView。 AutoCompleteTextView 没有函数“performItemClick()”。

标签: android


【解决方案1】:

您需要将监听器声明为成员变量并强制从外部调用它,如下所示:

void onCreate(Bundle savedInstanceState){
     // setContentView and other stuff
     myAutoCompleteTextView.setOnItemClickListener(mOnItemListener);
}


AdapterView.OnItemClickListener mOnItemListener = new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parentView, View selectedItemView,int position, long id) {
               // do something...
   }
};

当你需要强制调用它时,使用:

mOnItemListener.onItemClick(/*put your forced parameters here*/);

例如:

mOnItemListener.onItemClick(null, null, 10, 20);

【讨论】:

  • 我明白你写的除了最后一行。可以说我想强制选择“abc”选项。我需要指定哪些论据?我读过 developer.android.com/reference/android/widget/… 并没有帮助。
  • 需要传递行的位置
  • 我通过最后两个参数传递了位置,但它不起作用。也许前两个参数是有问题的?空,空...
猜你喜欢
  • 2013-02-21
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-10
  • 1970-01-01
  • 1970-01-01
  • 2013-08-22
相关资源
最近更新 更多