DEFECT DESCRIPTION:
Recipient text box is displayed abnormally when input words to select matching contacts.
Take one example:
1.Save one contact in contact list,e.g:google:5555;
2.Access messaging->new message;
3.Slider is off,input"gg"in recipeint text box by virtual keypad,the screen is displayed abnormally.
Android的手机好像都有这个问题,就是用触摸键盘编辑短信的收件人,这时输入数字时,电话本匹配的下拉框会把消息text编辑框给覆盖掉,当匹配的号码只有一个时,下拉框就不会覆盖text编辑框了,但是text编辑框那一块却没有刷新。这个问题很容易出现。
请高手指点一下,这个问题要如何解决,谢谢。
------解决方案--------------------
没太听明白LZ的意思 , 你那个图看不到
------解决方案--------------------
没刷新过来啊 ?????
看书不是 资源不足 没有刷过来
------解决方案--------------------
这个问题我分析是你内部处理出现了进程阻塞, 其他的技术也出现过这样的问题, 进一步分析, 是你的事件处理发生了冲突, 我遇见过这样的问题, 你可以试试看。
------解决方案--------------------
我觉得是哪个下拉框没有定义大小吧?
- Java code
package com.example.anroid.permission; 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.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AutoCompleteTextView; import android.widget.CursorAdapter; import android.widget.Filterable; import android.widget.TextView; public class AutoComplete extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ContentResolver content = getContentResolver(); Cursor cursor = content.query(Contacts.People.CONTENT_URI, PEOPLE_PROJECTION, null, null, Contacts.People.DEFAULT_SORT_ORDER); ContactListAdapter adapter = new ContactListAdapter(this, cursor); 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(Context context, Cursor c) { super(context, c); mContent = context.getContentResolver(); } @Override public View newView(Context context, Cursor cursor, ViewGroup parent) { final LayoutInflater inflater = LayoutInflater.from(context); final TextView view = (TextView) inflater.inflate( android.R.layout.simple_dropdown_item_1line, parent, false); view.setText(cursor.getString(5)); return view; } @Override public void bindView(View view, Context context, Cursor cursor) { ((TextView) view).setText(cursor.getString(5)); } /* @Override public String convertToString(Cursor cursor) { return cursor.getString(5); }*/ @Override public Cursor runQueryOnBackgroundThread(CharSequence constraint) { if (getFilterQueryProvider() != null) { return getFilterQueryProvider().runQuery(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.PRIMARY_PHONE_ID, Contacts.People.TYPE, Contacts.People.NUMBER, Contacts.People.LABEL, Contacts.People.NAME, }; }