autocompletetextview不起作用

时间:2011-12-28 21:48:49

标签: android

我有一个联系人列表,当我想在我的列表中进行搜索时,我想使用autocompletetext视图,但它无效。

当我开始输入自动填充文本视图时,没有任何内容出现,但是当我点击搜索按钮时,它会找到我想要的联系人。

这是我的.java:

           public class Search extends  ListActivity {
      private static int[] TO = {R.id.rowid,R.id.name, R.id.mobilephone, R.id.email };
private static String[] FROM = {_ID,DbConstants.NAME, DbConstants.PHONE, DbConstants.EMAIL, };
private Button sButton;

 private ListView lv1;
 private static SQLiteDatabase db;
  private DbCreate contacts;
  private Cursor cursor;
  private EditText searchText;
  protected SimpleCursorAdapter adapter;


            protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.search);
    searchText=(EditText)findViewById(R.id.searchtext);
    sButton=(Button)findViewById(R.id.searchButton);
    sButton.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            showDatabaseContent();
              lv1 = getListView();

              lv1.setTextFilterEnabled(true);
        }
    });





               }


                private Cursor getContacts() {
      db = contacts.getReadableDatabase();
      cursor = db.rawQuery("SELECT  _id,name, phone, email FROM contactTest1 WHERE name LIKE ?", 
                new String[]{searchText.getText().toString()+"%"});
      startManagingCursor(cursor);
      return cursor;
                    }

                   public void showDatabaseContent(){
   contacts = new DbCreate(this); 
   try {
       cursor = getContacts(); 
       showContacts(cursor); 
   } finally {
       contacts.close(); 
       db.close();
              }
              }

                      private void showContacts(Cursor cursor) {
    //set up data binding
   adapter = new SimpleCursorAdapter(this, R.layout.item, cursor, FROM, TO);
   setListAdapter(adapter);
             }

                      public void onListItemClick(ListView parent, View v, int position, long id) {
   Intent abaintent = new Intent(this,Detalii.class);
   Cursor cursor = (Cursor) adapter.getItem(position);
   abaintent.putExtra("Contact_ID", cursor.getInt(cursor.getColumnIndex("_id")));
   startActivity(abaintent);
 }

}

这是我的search.xml:

           <?xml version="1.0" encoding="utf-8" ?> 
          <LinearLayout xmlns:android="http://schemas.android.com/apk//android"        

           android:orientation="vertical"
           android:layout_width="fill_parent"          
           android:layout_height="fill_parent">
              <LinearLayout 
            android:orientation="horizontal" 
              android:layout_width="fill_parent" 
             android:layout_height="wrap_content">


           <AutoCompleteTextView
     android:id="@+id/searchtext"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_weight="1"
     android:text="searchDefault" >

     <requestFocus />
 </AutoCompleteTextView> 
          <Button android:id="@+id/searchButton" 
            android:text="Search" 
           android:layout_width="wrap_content" 
            android:layout_height="wrap_content" /> 
            </LinearLayout>
                 <ListView
          android:id="@android:id/list"
            android:layout_width="fill_parent"
          android:layout_height="wrap_content" />

         </LinearLayout>

1 个答案:

答案 0 :(得分:0)

为什么你有

  android:layout_weight="1"

? 我会删除它。