sexta-feira, 3 de fevereiro de 2012

Criando uma GridActivity com número de elementos variando com a orientação

Primeiramente, tenha em mãos sua classe de modelo. Exemplo:
 class Time {
     String nome;
     int bandeira;
     public Time(String nome, int band){
      this.nome=nome;
      this.bandeira=band;
     }
  
     @Override
     public String toString() {
      return nome;
     }
     
    }
Em seguida, implemente uma classe filha de ArrayAdapter (ou outra classe filha de ListAdapter):
class ListItemAdapter extends ArrayAdapter< Time> {

  public ListItemAdapter(Context context, int textViewResourceId,
    List< Time> objects) {
   super(context, textViewResourceId, objects);
   
  }
  
  
  
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
   LayoutInflater inflater = (LayoutInflater) GridActivity.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;
  }
  
  
  
 }
Agora é só implementar o método onCreate passando a lista de times como parâmetro:
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.gridteste);
  
  GridView grid = (GridView) findViewById(R.id.grid);

  //Cria uma Lista de objetos Time
        final List
Screenshots:

Nenhum comentário:

Postar um comentário