Tengo un gridview
en mi layout
:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context="mx.appco.RevistaPremisa.CrucigramaFragment">
<GridView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/gridViewLayout" android:layout_alignParentTop="true" android:layout_centerHorizontal="true">
</FrameLayout>
Bien, a ese Gridview
le creo celdas programáticamente por medio de un adapter
y se lo asigno con gridview.setAdapter(gridViewElement);
:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootview = inflater.inflate(R.layout.fragment_crucigrama, container, false);
grid = (GridView) rootview.findViewById(R.id.gridViewLayout);
grid.setNumColumns(13);
gridViewElement = new CustomGridViewAdapter(getActivity());
grid.setAdapter(gridViewElement);//Aquí le asigno el adapter
return rootview;
}
Eso me funciona bien, pero ahora quiero meterle datos de un arreglo, para hacerlo se hace lo siguiente:
String [] miArreglo;
ArrayAdapter<String> adapter = new ArrayAdapter<String>(context,
android.R.layout.simple_list_item_1, miArreglo);
Y de igual manera se le asigna el adapter:
grid.setAdapter(adapter);
El problema es que solo puedes asignarle un Adapter
, Mi duda es esa:
¿Cómo ingresar datos de un arreglo a un custom GridView quue se genera también por un adapter?
ACTUALIZACIÓN
Esta es la clase CustomGridViewAdapter
:
public class CustomGridViewAdapter extends BaseAdapter
{
Context context;
public CustomGridViewAdapter(Context context)
{
//super(context, 0);
this.context=context;
}
public int getCount()
{
return 169;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
View row = convertView;
//Cargo un Custom Edittext en cada celda
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
row = inflater.inflate(R.layout.grid_item, parent, false);
EditText editTextCelda = (EditText) row.findViewById(R.id.gridEdittext);
editTextCelda.setGravity(Gravity.TOP | Gravity.LEFT);
final int sdk = Build.VERSION.SDK_INT;
if (editTextCelda.getText().toString().trim().equals(""))
{
if(sdk < Build.VERSION_CODES.JELLY_BEAN) {
editTextCelda.setBackgroundDrawable(context.getResources().getDrawable(R.drawable.rounded_edittext));
} else {
editTextCelda.setBackground( context.getResources().getDrawable(R.drawable.rounded_edittext));
}
} else{
editTextCelda.setBackgroundColor(Color.WHITE);
}
return row;
}
}