当前位置: 首页 > 知识库问答 >
问题:

如何在调用activity onResume()时阻止AutoCompleteTextView显示建议?

汲永嘉
2023-03-14

在我的应用程序中,其中一个活动有两个自动完成文本视图。我从建议列表中选择它们的值,然后按 OK 按钮。“确定”按钮为我带来了一个新活动,用于显示“自动完成”文本视图值的结果基础。但是,如果我现在按下后退按钮并返回到具有两个自动完成TextView文本视图的活动,它们都开始显示建议列表。我希望他们不要显示建议列表,因为建议列表只包含文本视图中已有的单个项目。我试图设置适配器空值,然后设置回原始数组,但这并不能阻止自动完成文本视图显示建议列表。

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.find_path);
        initializeElements();
        GetAllPathList();
        adapter = new ArrayAdapter<Path>(this, R.layout.dropdown_list_item,
                pathArray);
        startPathAutocomplete.setAdapter(adapter);
        endPathAutocomplete.setAdapter(adapter);
    }
public class Path {

  private String _id;
  private String pathName;
  private String pathLine;

  public Station(String _id, String pathName, String pathLine) {
      this._id = _id;
      this.pathName= pathName;
          this.pathLine = pathLine;
  }
//getter setter methods for variables

}
@Override
    protected void onResume() {
        super.onResume();
        stationArray = null;
        adapter.notifyDataSetChanged();
    }

共有1个答案

贺光华
2023-03-14

当您从另一个< code>Activity onResume()方法被调用时。因此,无论您想为< code >适配器设置什么,都应该在onResume()方法中设置。只需通知您的适配器数据已经更改。就是这样:)

编辑 路径阵列和站阵列的想法是相同的

@Override
protected void onResume() {
    super.onResume();
    stationArray = null;
     adapter = new ArrayAdapter<Path>(this, R.layout.dropdown_list_item,
            stationArray);
    adapter.notifyDataSetChanged();
    startPathAutocomplete.setAdapter(adapter);
    endPathAutocomplete.setAdapter(adapter);
}
 类似资料:
  • < code > autocomplete textview 出现了一个奇怪的问题。 我有一个,在键入时显示城市建议。城市列表通过 从远程服务器检索。当我使用软键盘或软键盘上的按钮时,建议工作正常。确实显示建议的城市。 但是,当我尝试使用设置文本时,我有一个问题。.我也尝试过但仍然没有运气。 适配器就在那里,只是建议没有显示出来。 有什么建议吗? 谢了。

  • 问题内容: Ajax使用回调,因为它是同步的。 我希望对远程URL块的调用直到出现一些答案为止 ,就像在Ajax中一样,但是没有异步部分,或者我要说要进行JAX调用。 是否有任何技术可以使以下事情发生(使用JQuery)(…使用JQuery或其他解决方案): 我只是想知道-想学习。 实际上,有时会阻塞直到回复合适为止。我并不是说要浏览器阻止,而只是脚本运行时。 问题答案: 您可以在使用jQuery

  • 我一直在试验项目反应器和反应流。我在使用使流在不同的线程上运行时遇到了一个问题。将我的代码放在主线程中,我需要主线程块,直到流完成,所以我做了这样的事情: 然后我注意到有一个方法执行阻塞。但是我不能同时使用订阅和块最后,因为它们不返回。 有什么优雅的方法可以做到这一点吗?

  • 我想检查蒙哥数据库中是否已存在电子邮件ID。如果设置了 req.body.email,它将触发MongoDB查询,如果结果为真,则它应该在json中发送状态:true。 我已经尝试从外部发送res.json()User.findOne()仍然不起作用。我已经将接受标头设置为应用程序/json。仍然不起作用。 NodeJS上的代码 前端代码 错误日志

  • 问题内容: 我有一个可以广泛使用WebView的应用程序。当此应用程序的用户没有Internet连接时,将显示一个页面,显示“网页不可用”和其他各种文字。有没有办法在我的WebView中不显示此通用文本?我想提供自己的错误处理。 我发现WebView-> clearView 实际上并未清除视图。 问题答案: 首先使用HTML创建您自己的错误页面,并将其放在资产文件夹中,我们将其称为myerrorp

  • 乍一看,我试图做一些相当简单的事情,但我做不到。我有一个按钮和两个隐藏的div。按下按钮时,我希望第一个div显示,n秒后隐藏,然后第二个div显示。 HTML: 包含JS的完整代码如下所示:https://jsfiddle.net/439xbfe5/ 我已经在这里检查了答案:jQuery显示5秒钟,然后隐藏 这个代码的问题是#div2在#div1消失之前出现: 同样的问题: 我还尝试创建一个阻塞