Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- LinearLayout ll = new LinearLayout(this);
- ll.setOrientation(LinearLayout.VERTICAL);
- EditText et = new EditText(this);
- ListView lv = new ListView(this);
- ll.addView(et);
- ll.addView(lv);
- setContentView(ll);
- // MatchableArrayAdapter: https://gist.github.com/pskink/2dd4d17a93caf02ff696533e82f952b0
- final MatchableArrayAdapter<Currency> adapter = new MatchableArrayAdapter<Currency>(this, android.R.layout.simple_list_item_2) {
- @Override
- protected void onBind(Currency item, View itemView, int position) {
- TextView text1 = (TextView) itemView.findViewById(android.R.id.text1);
- text1.setText(item.getDisplayName());
- TextView text2 = (TextView) itemView.findViewById(android.R.id.text2);
- text2.setText(item.getSymbol());
- }
- @Override
- protected boolean matches(Currency value, CharSequence prefix, CharSequence lowerCasePrefix) {
- return value.getDisplayName().toLowerCase().contains(lowerCasePrefix);
- }
- };
- for (Currency currency : Currency.getAvailableCurrencies()) {
- adapter.add(currency);
- }
- lv.setAdapter(adapter);
- et.addTextChangedListener(new 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) {}
- @Override public void afterTextChanged(Editable s) {
- adapter.getFilter().filter(s);
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement