如何使用输入的文本加载AutoCompleteTextView

时间:2013-11-19 06:23:49

标签: android autocompletetextview

我想使用输入的文本加载AutoCompleteTextView ...例如。 假设我的sqlite数据库的Employee表包含以下行... id empname dept 01 John IT 02约瑟夫帐户 03 Flintoff帐户 04 Jacob IT

如果我在AutoCompleteTextView中输入“J”,它应该显示“John”和“Joseph”。 要么 如果我在AutoCompleteTextView中输入“n”,它应该显示“John”和“Flintoff”。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.expense);
    dpResult=(DatePicker)findViewById(R.id.dpResult);
    txtTime=(EditText)findViewById(R.id.edit_message);
    actvAcc=(AutoCompleteTextView)findViewById(R.id.actvAcc);
    txtSubAcc=(EditText)findViewById(R.id.txtExpense);
    txtAmount=(EditText)findViewById(R.id.txtAmount);
    dbHelper=new DatabaseHelper(this);

    Cursor c=dbHelper.getAllExpAccount();

// Cursor c = dbHelper.GetAccByChar(actvAcc.getEditableText()。toString());         startManagingCursor(C);

    //SimpleCursorAdapter ca=new SimpleCursorAdapter(this,android.R.layout.simple_spinner_item, c, new String [] {DatabaseHelper.colDeptName}, new int []{android.R.id.text1});
    SimpleCursorAdapter ca=new SimpleCursorAdapter(this,R.layout.deptspinnerrow, c, new String [] {DatabaseHelper.colAccount,"_id"}, new int []{R.id.ACTAcount});
    //ca.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    actvAcc.setThreshold(1);
    int desiredColumn = 3;
     ca.setCursorToStringConverter(null);
     ca.setStringConversionColumn(desiredColumn);
        actvAcc.setAdapter(ca);
}

它有什么不对..

此致 Neilesh

3 个答案:

答案 0 :(得分:0)

android:completionThreshold="1"内使用AutoCompleteTextView

借助此Tag如果您将输入单个字符,将为您提供所需的结果。所有比赛输出。

<AutoCompleteTextView
            android:id="@+id/autocomplete"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:inputType="text"
            android:completionThreshold="1" />

并设置包含Employee所有信息的适配器。

希望这会对你有所帮助。

答案 1 :(得分:0)

Java代码:

 AutoCompleteTextView acTextView;   
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                        android.R.layout.simple_dropdown_item_1line, employee);
                acTextView = (AutoCompleteTextView) findViewById(R.id.autotext);
                acTextView.setThreshold(1);
                acTextView.setAdapter(adapter);
                acTextView.setTextColor(Color.BLACK);

XML

<AutoCompleteTextView
                android:id="@+id/autotext"
                android:layout_width="450dp"
                android:layout_height="50dp"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="40dp"
                android:background="@drawable/txt_field"
                android:dropDownHeight="300dp"
                android:hint="Enter Code"
                android:inputType="textCapCharacters"
                android:maxLength="5"
                android:paddingLeft="20dp"
                android:textColor="@android:color/primary_text_light"
                android:textSize="24sp" >
            </AutoCompleteTextView>

答案 2 :(得分:0)

  1. 您的AutoTextCompleteView
  2. 的布局必须包含唯一的.xml文件
  3. 您必须在适配器中包含字符串类型的数据