@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_settings); smallBang = SmallBang.attach2Window(this); imageViewChooseTick = (ImageView) findViewById(R.id.imageViewChooseTick); autoCompleteTextViewCityChooser = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextViewSettings); cityList = new CityList(this); final CityLoader cityLoader = new CityLoader(); cityLoader.execute(); autoCompleteTextViewCityChooser.setAdapter( new ArrayAdapter<String>( this, R.layout.support_simple_spinner_dropdown_item, cityList.cities)); autoCompleteTextViewCityChooser.setValidator( new AutoCompleteTextView.Validator() { @Override public boolean isValid(CharSequence text) { try { L.log("Charsec: " + text); if (cityList.cities.contains(text.toString())) { L.log("validation called: true"); Intent intent = new Intent(getBaseContext(), WeatherDisplay.class); sharedPreferences = getSharedPreferences(Const.PREF_NAME, Context.MODE_PRIVATE); editor = sharedPreferences.edit(); editor.putString(Const.CITY_NAME, text.toString()); editor.commit(); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); cityList.close(); finish(); return true; } L.log("validation called: false"); } catch (Exception e) { L.log(e.getMessage()); } Toast.makeText( getBaseContext(), "Please select exact one from list", Toast.LENGTH_SHORT) .show(); return false; } @Override public CharSequence fixText(CharSequence invalidText) { L.log("fixtext called"); return null; } }); imageViewChooseTick.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { smallBang.setColors( new int[] {Color.parseColor("#7CC4D8"), Color.parseColor("#AFE0EE")}); smallBang.bang( v, new SmallBangListener() { @Override public void onAnimationStart() {} @Override public void onAnimationEnd() { autoCompleteTextViewCityChooser.performValidation(); } }); } }); }