Android 编辑文本中文本下方的自动提示

Android 编辑文本中文本下方的自动提示,android,autocomplete,android-edittext,Android,Autocomplete,Android Edittext,我想为edittext android中键入的文本制作一个文本编辑器,该编辑器具有自动提示功能 这就是我试图实现的设计 我试图在文本观察程序中隐藏和显示listview onTextChanged class MyTextWatcher implements TextWatcher{ @Override public void beforeTextChanged(CharSequence s, int start, int count, int a

我想为edittext android中键入的文本制作一个文本编辑器,该编辑器具有自动提示功能

这就是我试图实现的设计

我试图在文本观察程序中隐藏和显示listview onTextChanged

class MyTextWatcher implements TextWatcher{

           @Override
           public void beforeTextChanged(CharSequence s, int start, int count, int after) {

           }

           @Override
           public void onTextChanged(CharSequence s, int start, int before, int count) {

    listView.setX(initialX);
    listView.setY(initialY);

           }

           @Override
           public void afterTextChanged(Editable s) {


           }
       }
这是一个很好的方法,或者告诉我正确的方法是什么?

试试以下方法:

 <AutoCompleteTextView
        android:id="@+id/Months"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dip"
        android:layout_marginRight="10dip"
        android:textStyle="bold"
        android:width="250dip" />

在你们班上:

 AutoCompleteTextView textView=null;
private ArrayAdapter<String> adapter;

//These values show in autocomplete
String item[]={
          "January", "February", "March", "April",
          "May", "June", "July", "August",
          "September", "October", "November", "December"
        };

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle bundle) {
    super.onCreate(bundle);

    setContentView(R.layout.auto_complete_string);


    // Initialize AutoCompleteTextView values

        // Get AutoCompleteTextView reference from xml
        textView = (AutoCompleteTextView) findViewById(R.id.Months);

        //Create adapter    
        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, item);

        textView.setThreshold(1);

       //Set adapter to AutoCompleteTextView
        textView.setAdapter(adapter);
        textView.setOnItemSelectedListener(this);
        textView.setOnItemClickListener(this);


}


@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int position,
        long arg3) {
    // TODO Auto-generated method stub
    //Log.d("AutocompleteContacts", "onItemSelected() position " + position);
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
    // TODO Auto-generated method stub

    InputMethodManager imm = (InputMethodManager) getSystemService(
            INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);

}

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    // TODO Auto-generated method stub

    // Show Alert       
    Toast.makeText(getBaseContext(), "Position:"+arg2+" Month:"+arg0.getItemAtPosition(arg2),
            Toast.LENGTH_LONG).show();

    Log.d("AutocompleteContacts", "Position:"+arg2+" Month:"+arg0.getItemAtPosition(arg2));

}

protected void onResume() {
    super.onResume();
}

protected void onDestroy() {
    super.onDestroy();
}
AutoCompleteTextView textView=null;
专用阵列适配器;
//这些值以自动完成方式显示
字符串项[]={
“一月”、“二月”、“三月”、“四月”,
“五月”、“六月”、“七月”、“八月”,
“九月”、“十月”、“十一月”、“十二月”
};
/**在首次创建活动时调用*/
@凌驾
创建公共void(Bundle){
super.onCreate(bundle);
setContentView(R.layout.auto_complete_字符串);
//初始化AutoCompleteTextView值
//从xml获取AutoCompleteTextView引用
textView=(自动完成textView)findViewById(R.id.Months);
//创建适配器
adapter=new ArrayAdapter(这是android.R.layout.simple\u下拉列表\u item\u 1line,item);
设置阈值(1);
//将适配器设置为AutoCompleteTextView
setAdapter(适配器);
setOnItemSelectedListener(这个);
setOnItemClickListener(这个);
}
@凌驾
已选择公共位置(适配器视图arg0、视图arg1、内部位置、,
长arg3){
//TODO自动生成的方法存根
//Log.d(“自动完成联系人”、“已选择的()位置”+位置);
}
@凌驾
未选择公共无效(AdapterView arg0){
//TODO自动生成的方法存根
InputMethodManager imm=(InputMethodManager)getSystemService(
输入\方法\服务);
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),0);
}
@凌驾
公共视图单击(AdapterView arg0、视图arg1、整型arg2、长型arg3){
//TODO自动生成的方法存根
//显示警惕
Toast.makeText(getBaseContext(),“位置:”+arg2+“月份:”+arg0.getItemAtPosition(arg2),
Toast.LENGTH_LONG).show();
Log.d(“自动完成联系人”,“位置:+arg2+”月份:+arg0.getItemAtPosition(arg2));
}
受保护的void onResume(){
super.onResume();
}
受保护的空onDestroy(){
super.ondestory();
}

事实上,如果我选择或重新键入我应该显示的任何单词,我的编辑文本高度会很大autocomplete@nambi你的问题有什么解决办法吗