Android autoCompleteTextView找不到第一个适配器字符串的第一部分

问题描述:

我已经将autoCompleteTextView添加到了我的活动中。Android autoCompleteTextView找不到第一个适配器字符串的第一部分

<AutoCompleteTextView 
     android:id="@+id/autoCompleteTextViewSearch" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_marginEnd="16dp" 
     android:layout_marginLeft="16dp" 
     android:layout_marginRight="16dp" 
     android:layout_marginStart="16dp" 
     android:textColor="@color/zxing_status_text" 
     app:layout_constraintBottom_toBottomOf="@+id/toolbar2" 
     app:layout_constraintLeft_toLeftOf="@+id/toolbar2" 
     app:layout_constraintRight_toRightOf="@+id/toolbar2" 
     app:layout_constraintTop_toTopOf="@+id/toolbar2" /> 

然后我在的onCreate添加代码MainActivity.java:

String[] arrayData = { 
     "30714518 Tyre Bycicle 14\"x2.125 ORNATE 518 2000289537714 190 300 2 1", 
     "30718827 Tyre Bycicle 18\"x1.75 DURO 827 2000289544736 170 350 0 4", 
     "307275161-1 Tyre Bycicle 27,5\"x2.10 CHAOYANG 5161 2000289537813 400 650 1 3", 
     "30710590 Tyre Bycicle 10\"x2.0 H-590 CHAOYANG 2000289557941 170 300 0 5", 
     "30718518 Tyre Bycicle 18\"x2.125 ORNATE 518 2000289537745 220 400 1 9", 
     "30716518 Tyre Bycicle 16\"x2.125 ORNATE 518 2000289537721 200 350 1 114", 
     "30718888 Tyre Bycicle 2000289537721 200 350 1 114" 
}; 


ArrayAdapter<String> adapter = new ArrayAdapter<String> 
     (this, android.R.layout.select_dialog_item, arrayData); 
AutoCompleteTextView autoCompleteWidget = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextViewSearch); 
autoCompleteWidget.setThreshold(1); 
autoCompleteWidget.setAdapter(adapter); 

这是怎么回事,当我开始我的应用程序和类型的文本中自动完成的领域:

  1. “ 30718“ - 我看到结果
  2. ”30714“ - 没有结果
  3. “20002895377” - 我看到结果
  4. “By” - 我看到结果
  5. “DURO” - 我看到结果。

为什么当我输入30714时没有结果?

我试图改变第一个字符串,每当我尝试找到第一个字符串的第一个短语时没有结果。

+0

由于这是您的第一个问题,所以您可以阅读[提问问题指南](https://*.com/help/how-to-ask)并更新您的问题。 –

您的dataFromFileInList如何创建?

如果您的适配器数据来自arrayData,它应该像下面的代码一样工作。

AutoCompleteTextView autoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.auto_complete_text_view); 

    final String[] arrayData = { 
      "30714518 Tyre Bycicle 14\"x2.125 ORNATE 518 2000289537714 190 300 2 1", 
      "30718827 Tyre Bycicle 18\"x1.75 DURO 827 2000289544736 170 350 0 4", 
      "307275161-1 Tyre Bycicle 27,5\"x2.10 CHAOYANG 5161 2000289537813 400 650 1 3", 
      "30710590 Tyre Bycicle 10\"x2.0 H-590 CHAOYANG 2000289557941 170 300 0 5", 
      "30718518 Tyre Bycicle 18\"x2.125 ORNATE 518 2000289537745 220 400 1 9", 
      "30716518 Tyre Bycicle 16\"x2.125 ORNATE 518 2000289537721 200 350 1 114", 
      "30718888 Tyre Bycicle 2000289537721 200 350 1 114" 
    }; 

    ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.select_dialog_item, Arrays.asList(arrayData)); 
    autoCompleteTextView.setThreshold(1); 
    autoCompleteTextView.setAdapter(adapter); 
+0

感谢您的回复。 当我在这里复制代码时出现这个错误。适配器获取** arrayData **(字符串数组,不是List)。但问题仍然存在。 – dTi