Fiz assim:
package br.me.gridview;
import android.app.Activity;
import android.os.Bundle;
import android.widget.GridView;
import br.me.gridview.ButtonAdapter;
public class GridViewActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GridView gridView = (GridView) findViewById(R.id.gridView);
gridView.setAdapter(new ButtonAdapter(this, new String[] {"Item 1", "Item 2", "Item 3"})); // ainda sublinhado new ButtonAdapter(this, new String[] {"Item 1", "Item 2", "Item 3"})
}
}
E esse erro ai, não sei o que é.
The constructor ButtonAdapter(GridViewActivity, String[]) is undefined
Não está chamando a tela. Fiz um método para mostrar na tela uma mensagem mas não está chamando.
Classe Principal
package br.me.aquasystem;
import br.me.gridview.R;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
public class AquaSystemActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GridView gridView = (GridView) findViewById(R.id.gridView);
gridView.setAdapter(new ButtonAdapter(getBaseContext(), new String[] {
"Item 1", "Item 2", "Item 3" }));
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
switch (position) {
case 0:
// startActivity(new Intent(AquaSystemActivity.this, SegundaActivity.class));
mensagemExibir("AVISO - BOTÃO TIPO VEÍCULO","Em construção, aguarde!");
// finish();
break;
case 1:
// startActivity(new Intent(GridViewActivity.this,
// TerceiraActivity.class));
// finish();
break;
case 2:
// startActivity(new Intent(GridViewActivity.this,
// QuartaActivity.class));
// finish();
break;
case 3:
// startActivity(new Intent(GridViewActivity.this,
// QuintaActivity.class));
// finish();
break;
case 4:
// startActivity(new Intent(GridViewActivity.this,
// SextaActivity.class));
// finish();
break;
}
}
});
}
public void mensagemExibir(String titulo, String texto){
AlertDialog.Builder mensagem = new AlertDialog.Builder(AquaSystemActivity.this);
mensagem.setTitle(titulo);
mensagem.setMessage(texto);
mensagem.setNeutralButton("Ok", null);
mensagem.show();
}
}
Classe Adapter
package br.me.aquasystem;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
public class ButtonAdapter extends BaseAdapter {
private Context context;
private String[] buttonNames;
public ButtonAdapter(Context context, String[] buttonNames) {
this.context = context;
this.buttonNames = buttonNames;
}
@Override
public int getCount() {
return buttonNames.length;
}
@Override
public Object getItem(int pos) {
return null;
}
@Override
public long getItemId(int pos) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Button button;
if (convertView == null) {
button = new Button(context);
button.setText(buttonNames[position]);
} else {
button = (Button) convertView;
}
return button;
}
}