小编kau*_*edi的帖子

如何在保留字符状态的情况下向autocompletetextview动态添加建议

问题描述:

我在AutoCompleteTextView面临一些问题,我必须在每次按键后显示建议.事情是,建议列表是动态像谷歌的建议功能.这意味着应该在用户输入时添加新建议,并且应显示所有匹配的旧建议.

例如

我写"te"然后它应该显示以前的建议,如"test1"和"test2"以及我将从Web API获得的新建议.假设web api给了我"茶"和"紧张"的字样.

现在,AutoCompleteTextView将"te"作为字符串,其下方显示所有四个建议.

这正是我要找的.

看起来很简单,但它显示出一种奇怪的行为.

我正在使用我在全局声明的默认ArrayAdapter类实例.

arrayAdapter=new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,suggestions);
word.setAdapter(arrayAdapter);
Run Code Online (Sandbox Code Playgroud)

建议是ArrayList.

从WebApi获得新结果后,我只需致电

arrayAdapter.notifyDataSetChanged();
Run Code Online (Sandbox Code Playgroud)

刷新数据观察者和附加的视图(在我们的例子中是AutoCompleteListView).

但它结束了建议.

当我不使用notifyDataSetChanged();它时,无论我输入的字符是什么,都会显示所有建议.

我尝试使用自定义过滤器,因为我不能使用notifyDataSetChanged(),但没有一个是有用的.

我发布图片以避免混淆.在此输入图像描述

我有一个混乱,为什么notifyDataSetChanged();它不起作用.我没有使用相同的arrayAdapter实例的任何其他列表引用.我真的怀疑这是一个参考问题.

android autocompletetextview notifydatasetchanged android-filterable

11
推荐指数
1
解决办法
8848
查看次数

如何更改在应用内结算中成功购买产品后的Toast消息

用户购买产品后,我收到的消息如"谢谢你,你的商品会很快出现".现在这条消息来自市场方面.但我想要一个自定义消息而不是这个消息.

如何做同样的或至少如何删除此Toast通知?

android in-app-purchase in-app-billing

10
推荐指数
1
解决办法
430
查看次数

最后打电话给超级

我对人们在重写方法中使用super的方式感到困惑.喜欢什么是不同的

  @Override
  protected void onResume() {
    // some logic here 
    super.onResume();
  }
Run Code Online (Sandbox Code Playgroud)

  @Override
  protected void onResume() {
    super.onResume();
    // some logic here 
  }
Run Code Online (Sandbox Code Playgroud)

当我们在最后调用super()时它是否执行任何预处理,因为通常我们调用super来初始化父构造函数.

两种性能的差异.

java android overriding

9
推荐指数
1
解决办法
5621
查看次数

浓缩咖啡中的有界匹配器和类型安全匹配器有什么区别?

在android支持测试库中为recyclerview编写测试用例时,一些演示使用TypeSafeMatcher,而其他使用BoundedMatcher.任何人都可以解释我为什么在使用示例或用例时使用?

android-espresso

8
推荐指数
1
解决办法
892
查看次数

Flag Activity Clear Top会破坏目标活动而不是创建目标活动

我正在观看Intent.FLAG_ACTIVITY_CLEAR_TOP的行为.

例如,我有三个活动A,B和C现在Flow是A - > B - > C.

现在当我从C开始使用此标志时使用以下代码.

 Intent intent_to_a=new Intent(C.this,A.class);
                intent_to_home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(intent_to_a);
Run Code Online (Sandbox Code Playgroud)

AFAIK,Intent.FLAG_ACTIVITY_CLEAR_TOP应该删除B并且应该恢复A.它也会以相同但奇怪的方式执行.它删除B,而不是删除A而不是创建A.还调用A的方法onDestroy.任何人都可以告诉我它是否合适?如果我不想让它破坏我该怎么办?

android android-intent android-lifecycle android-activity

7
推荐指数
1
解决办法
1万
查看次数

通过重新定位在同一Gridview中拖放项目

我需要在同一个Gridview中创建拖放功能.将物品放入特定位置后,物品可以自动重新排列.我试过了

布拉蒂的拖累

thQuinn的拖累下降

mrKlar的拖累下降与分页

但它们都没有完全满足我的要求.

因为我想开发除了拖放之外的重新排序.

我愿意接受任何建议.

android android-gridview

6
推荐指数
0
解决办法
780
查看次数

getEditableText和getText有什么区别?

我在android中使用autoCompleteTextView时发现了这个问题。

似乎不允许autoCompleteTextView通过getEditableText方法获取数据,因为数据是由autoCompleteList选择的。

我了解的是,当用户通过使用inputType(使用android键盘)编辑数据时,更改将通过可编辑界面保存在某处,但是当我们通过自动完成列表选择数据时,它不会将其视为可编辑数据。

如何找到要与哪个组件一起使用的方法。或者我可以将这两个方法中的任何一个与可编辑和不可编辑组件一起使用。这些方法是否对所有组件都相同或有任何区别。

我要求澄清概念。如果您提供一些示例,那将是最好的。

谢谢您的宝贵时间。

android autocomplete android-edittext

5
推荐指数
1
解决办法
2309
查看次数