【问题标题】:Autocomplettextview filtered by input keys通过输入键自动完成文本视图过滤器
【发布时间】:2010-05-17 08:18:35
【问题描述】:

我使用带有 SimpleCursorAdapter 的 autocompletetextview 从 sqlite 获取数据。我想通过输入的键启动它的下拉列表。在我的自动完成文本视图中,输入文本未显示或过滤列表。

例如, 如果用户输入“an”,则所有以“an”开头的文本都将显示在此列表中。

在 Java 中

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.new);

        txtPNo = (AutoCompleteTextView) findViewById(R.id.txtSTo);        

        mDbHelper = new DBAdapter(this);
        mDbHelper.open();

        SimpleCursorAdapter notes = fillToData();
        txtPNo.setAdapter(notes); 
}

    private SimpleCursorAdapter fillToData() {
        Cursor c = mDbHelper.getName();
        startManagingCursor(c);
        String[] from = new String[] {DBAdapter.Name,DBAdapter.No1};
        int[] to = new int[] {R.id.txtName,R.id.txtNo1};

        Log.d(TAG, "cursor.getCount()=" + c.getCount());
        SimpleCursorAdapter notes =
            new SimpleCursorAdapter(this, R.layout.autocomplete, c, from,
to);

        return notes;
    } 

在新的.xml 中

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="#ffffff"
    >
   <AutoCompleteTextView android:id="@+id/txtSTo"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textColor="#000000"     
        android:hint="To"       
        android:completionThreshold="1" 
        android:selectAllOnFocus="true"  
        android:layout_alignParentTop = "true"
        android:layout_alignParentLeft="true"/>       
</RelativeLayout>

在 autocomplete.xml 中

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:stretchColumns="0" android:padding="5dp"> 
    <TableRow android:padding="5dp">
        <LinearLayout android:orientation="vertical">
            <TextView android:id="@+id/txtName"
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:textColor="#000000"   
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"/> 
            <TextView android:id="@+id/txtNo1"
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:textColor="#000000"   
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"/> 
        </LinearLayout>
    </TableRow>
</TableLayout>

如何实现获取刚刚过滤的列表?

【问题讨论】:

    标签: android autocompletetextview


    【解决方案1】:
        txtPNo = (AutoCompleteTextView) findViewById(R.id.txtSTo);        
    
        mDbHelper = new DBAdapter(this);
        mDbHelper.open();
    
        SimpleCursorAdapter notes = fillToData();
        txtPhoneNo.setAdapter(notes); 
    

    嗯,如果您只是复制粘贴代码...

    问题是变量名。

    txtPNo != txtPhoneNo


    AutoCompleteTextView

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多