Как получить текст строки из AutoCompleteTextView в Android? - PullRequest
0 голосов
/ 24 марта 2012
public class FareActivity extends Activity {


int fareid;
String Source;
String Dest;
AutoCompleteTextView source;
AutoCompleteTextView dest;


static final String[] SOURCE = new String[] {
      "Delhi", "Mumbai", "Agra", "Jaipur};


static final String[] DEST = new String[] {
      "Delhi", "Mumbai", "Agra", "Jaipur};




/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fare);




    dest = (AutoCompleteTextView) findViewById(R.id.acdest);
    ArrayAdapter<String> dadapter = new ArrayAdapter<String>(this, R.layout.list_item, DEST);
    dest.setAdapter(dadapter);



source = (AutoCompleteTextView) findViewById(R.id.acsource);
ArrayAdapter<String> sadapter = new ArrayAdapter<String>(this, R.layout.list_item, SOURCE);
    dest.setAdapter(sadapter);




 // Fare id calculation

     if(Source=="Delhi" && Dest=="Jaipur")
     {
         fareid=1;
     }
     else  if(Source=="Delhi" && Dest=="Agra")
     {
         fareid=2;
     }
     else  if(Source=="Delhi" && Dest=="Mumbai")
     {
         fareid=3;
     }

}

Я просто хочу сохранить значения 'источника' для autocompletetextview и значения 'dest' для autocompletetextview в строковую переменную 'Source' и строковую переменную 'Dest'. Я буду использовать обе строковые переменные для дальнейшей обработки в моем проекте, поэтому, пожалуйста, помогите мне.

1 Ответ

2 голосов
/ 24 марта 2012

Ну, для начала нужно определить threshold value. Это количество символов, которое вы хотите начать заполнять список символов.

acTextView = (AutoCompleteTextView)findViewById(R.id.autoCompleteTextbox); acTextView.setThreshold(3);

тогда

add a textwatcher and implement addTextChangedListener AutoCompleteTextView.

Ниже приведен пример:

TextWatcher fieldValidatorTextWatcher = new TextWatcher() {

        @Override
        public void afterTextChanged(Editable s) {
        }

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

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

                String str=acTextView.getText().toString().trim();
                populateList(str);//Function in which i am using the strings from DB, u dnt need it but just in case
            }
        }

        private boolean filterLongEnough() {
            return acTextView.getText().toString().trim().length() > 2;
        }
    };
    acTextView.addTextChangedListener(fieldValidatorTextWatcher);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...