Android 编辑文本中文本下方的自动提示
我想为edittext android中键入的文本制作一个文本编辑器,该编辑器具有自动提示功能 这就是我试图实现的设计 我试图在文本观察程序中隐藏和显示listview onTextChangedAndroid 编辑文本中文本下方的自动提示,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
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你的问题有什么解决办法吗