在edittext android里面的文本下方自动提示

时间:2015-05-25 14:08:03

标签: android autocomplete android-edittext

我想为edittext android中的键入文本自动提供文本编辑器。

这是我正在尝试实施的设计。

enter image description here

我正在尝试隐藏并在文本观察器中显示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) {


           }
       }

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

1 个答案:

答案 0 :(得分:0)

试试这个:

 <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();
}