class Pais {
String nome;
int bandeira;
public Pais(String nome, int band){
this.nome=nome;
this.bandeira=band;
}
@Override
public String toString() {
return nome;
}
}
Depois é necessário criar uma classe que extenda ArrayAdapter e sobrescrever seu método getView:
class PaisAdapter extends ArrayAdapter< Pais> {
public PaisAdapter(Context context, int resource, List< Pais> objects) {
super(context, resource, objects);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) TesteServiceActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.list_item, null);
ImageView img = ((ImageView) v.findViewById(R.id.imagemmm));
img.setImageDrawable( getResources().getDrawable(getItem(position).bandeira) );
TextView txt = ((TextView) v.findViewById(R.id.ronaldo));
txt.setText(getItem(position).nome);
return v;
}
}
Por último, o método OnCreate da sua activity:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Pega o AutoCompleteTextView
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
//Cria uma Lista de objetos Pais
List< Pais> paises = new ArrayList< TesteServiceActivity.Pais>();
paises.add(new Pais("Argentina", R.drawable.argentina));
paises.add(new Pais("Paraguai", R.drawable.paraguai));
paises.add(new Pais("Argélia", R.drawable.uruguai));
//Instancia o PaisAdapter
PaisAdapter adapter = new PaisAdapter(this, R.layout.list_item, paises);
textView.setAdapter(adapter);
}
Screenshots:
