Oi gente,
Postei 2 classes , postei a segunda para que se entenda melhor os acontecimentos, a dúvida é na primeira classe:
-
Qual a utilidade do método public int getCount() ? Ele está me parecendo meio inútil aqui, a não ser pela sua obrigatoriedade de implementação.
-
Como exatamente os argumentos chegam aos métodos Object getItem(int posicao) e long getItemId(int posicao) ? E quem os chama? Aliás, quem chama todos os métodos dessa classe (exceto o construtor), é o sistema, automaticamente?
Obrigada desde já, desculpa enxer tanto o saco de vcs… rs
package br.livro.android.cap6.layout;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
/**
* Adaptador de imagem para os exemplos de GridView, Gallery e ImageSwitcher
*
* @author ricardo
*
*/
public class AdaptadorImagem extends BaseAdapter {
private Context ctx;
private final int[] imagens;
private final android.view.ViewGroup.LayoutParams params;
public AdaptadorImagem(Context c, int[] imagens, android.view.ViewGroup.LayoutParams params) {
this.ctx = c;
this.imagens = imagens;
this.params = params;
}
public int getCount() {
return imagens.length;
}
public Object getItem(int posicao) {
return posicao;
}
public long getItemId(int posicao) {
return posicao;
}
public View getView(int posicao, View convertView, ViewGroup parent) {
ImageView img = new ImageView(ctx);
img.setImageResource(imagens[posicao]);
img.setAdjustViewBounds(true);
// i.setLayoutParams(new Gallery.LayoutParams(LayoutParams.WRAP_CONTENT,
// LayoutParams.WRAP_CONTENT));
img.setLayoutParams(params);
return img;
}
}
package br.livro.android.cap6.layout;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import br.livro.android.cap6.R;
/**
* Exemplo do GridView para visualizar imagens
*
* @author rlecheta
*
*/
public class ExemploGridView extends Activity {
// array com os ids das imagens
private int[] imagens = { R.drawable.smile1, R.drawable.smile2,
R.drawable.smile1, R.drawable.smile2, R.drawable.smile1,
R.drawable.smile2, R.drawable.smile1, R.drawable.smile2 };
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.exemplo_grid);
GridView grid = (GridView) findViewById(R.id.grid1);
grid.setAdapter(new AdaptadorImagem(this, imagens,new GridView.LayoutParams(30, 30)));
grid.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int posicao,long id) {
Toast.makeText(ExemploGridView.this,"Imagem selecionada: " + posicao, Toast.LENGTH_SHORT).show();
}
});
}
}