AutoCompleteTextView事件不断创建新适配器

时间:2016-04-17 15:45:59

标签: android json listview autocompletetextview

我正在研究android中的autocompleteTextView功能。我试图在用户输入时提供选项,选项实际上来自Web API(json格式)。我怀疑的是: 比如,用户开始输入,当用户键入3个字符时,我需要ping webAPI,获取它发送给我的所有选项。我创建了ArrayList适配器。现在我想继续根据用户输入过滤选项。我想继续将输入发送到webAPI并获取JSON数据,创建另一个适配器并为用户刷新自动完成选项。

我没有得到我需要捕获的事件才能成功完成这项工作?

先谢谢。

1 个答案:

答案 0 :(得分:0)

  

创建ArrayListAdapter

您不应反复创建新适配器,而是更新其服务器的数据集,并通过调用Option Explicit Sub main() Dim arrayU As Variant Dim arrayX As Variant Dim arrayW As Variant Dim myVar As Variant Dim j As Integer, i As Integer, R As Integer Dim bed_in_use As Integer, Wait_L As Integer Dim arrayXi As Variant Const max_bed_in_use As Integer = 24 'best to declare a "magic" value as a constant and use "max_bed_in_use" in lieu of "24" in the rest of the code 'fill "queue" arrays With ActiveSheet arrayU = Application.Transpose(.Range(.cells(3, "U"), .cells(.Rows.Count, "U").End(xlUp))) 'fill arrayU arrayX = Application.Transpose(.Range(.cells(3, "X"), .cells(.Rows.Count, "X").End(xlUp))) 'fill arrayX arrayW = Application.Transpose(.Range(.cells(3, "W"), .cells(.Rows.Count, "W").End(xlUp))) 'fill arrayW End With 'some examples of using the "queue-array utilities" bed_in_use = Count(arrayU) 'get the number of elements in arrayU Enqueue arrayU, "foo" ' add an element in the arrayU queue, it'll be placed at the queue end Enqueue arrayU, "bar" ' add another element in the arrayU queue, it'll be placed at the queue end bed_in_use = Count(arrayU) 'get the update number of elements in arrayU Dequeue arrayU 'shorten the queue by removing its first element myVar = Dequeue(arrayU) 'shorten the queue by removing its first element and storing it in "myvar" bed_in_use = Count(arrayU) 'get the update number of elements in arrayU MsgBox Peek(arrayU) ' see what's the first element in the queue End Sub

通知适配器有关更改的信息。