- Add GridView on the activity layout which will automatically adds XML GridView object in the related xml layout as shown below
- Create Activity layout : layout/results.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FF234499"
android:orientation="vertical"
>
<GridView
android:id="@+id/resultsGrid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:numColumns="5"
android:background="#FF234499">
</GridView>
</LinearLayout>
- Create Adapter which is responsible for creating cells on the GUI
public class TextAdapter extends BaseAdapter{
private Context c;
private String[] list;
public TextAdapter(Context ctx) {
this.c = ctx;
list = new String[50];
for (int i = 0; i < list.length; i++) {
list[i] = "Cell #" + i;
}
}
public int getCount() {
return list.length;
}
public Object getItem(int arg0) {
return null;
}
public long getItemId(int arg0) {
return 0;
}
public View getView(int position, View convertView, ViewGroup
parent) {
final int p = position;
TextView txtView = new TextView(c);
if (position % 2 == 0) {
txtView.setBackgroundColor(Color.BLACK);
} else {
txtView.setBackgroundColor(Color.WHITE);
}
//onclick enablement
txtView.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
System.out.println("Postion clicked : " + p);
}
});
txtView.setText(list[position]);
return txtView;
}
}
- Create linkage between GridView and application code by adding below code
public class ResultsActivity extends Activity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
//grid view
GridView resultsGrid =
(GridView) findViewById(R.id.resultsGrid);
resultsGrid.setAdapter(new TextAdapter(this));
}
No comments :
Post a Comment