📄 autocomplete4.java
字号:
/* * Copyright (C) 2007 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package com.google.android.samples.view;import android.app.Activity;import android.content.ContentResolver;import android.content.Context;import android.database.Cursor;import android.os.Bundle;import android.provider.Contacts;import android.view.View;import android.view.ViewGroup;import android.widget.AutoCompleteTextView;import android.widget.CursorAdapter;import android.widget.Filterable;import android.widget.TextView;import com.google.android.samples.R;public class AutoComplete4 extends Activity { @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.autocomplete_4); ContentResolver content = getContentResolver(); Cursor cursor = content.query(Contacts.People.CONTENT_URI, PEOPLE_PROJECTION, null, null, Contacts.People.DEFAULT_SORT_ORDER); ContactListAdapter adapter = new ContactListAdapter(cursor, this); AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.edit); textView.setAdapter(adapter); } // XXX compiler bug in javac 1.5.0_07-164, we need to implement Filterable // to make compilation work public static class ContactListAdapter extends CursorAdapter implements Filterable { public ContactListAdapter(Cursor c, Context context) { super(c, context); mContent = context.getContentResolver(); } @Override public View newView(Context context, Cursor cursor, ViewGroup parent) { TextView view = new TextView(context); view.setText(cursor, 5); return view; } @Override public void bindView(View view, Context context, Cursor cursor) { ((TextView) view).setText(cursor, 5); } @Override protected String convertToString(Cursor cursor) { return cursor.getString(5); } @Override protected Cursor runQuery(CharSequence constraint) { StringBuilder buffer = null; String[] args = null; if (constraint != null) { buffer = new StringBuilder(); buffer.append("UPPER("); buffer.append(Contacts.ContactMethods.NAME); buffer.append(") GLOB ?"); args = new String[] { constraint.toString().toUpperCase() + "*" }; } return mContent.query(Contacts.People.CONTENT_URI, PEOPLE_PROJECTION, buffer == null ? null : buffer.toString(), args, Contacts.People.DEFAULT_SORT_ORDER); } private ContentResolver mContent; } private static final String[] PEOPLE_PROJECTION = new String[] { Contacts.People._ID, Contacts.People.PREFERRED_PHONE_ID, Contacts.People.TYPE, Contacts.People.NUMBER, Contacts.People.LABEL, Contacts.People.NAME, Contacts.People.COMPANY };}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -