Desarrollo de App Android(003) para dispositivos móviles
Practica 003(agosto 2015)
Ing. Honoria Reyes Macedo
Ing. Honoria Reyes Macedo
SELECCIÓN
DE MATERIAS
1.- En la
pantalla principal creada en la practica 001
a)
En Activity_main.xml
Agregar un botón Horarios
b)En ActivityMain.class
Crear
el siguiente procedimiento
public void horarios(){ Button btnHora = (Button) findViewById(R.id.idbtnHorario); btnHora.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent hora = new Intent(MainActivity.this, HorarioDisponible.class); startActivity(hora); } }); }
c) Llamarlo desde el procedimiento
onCreate
d) Quedara asi:
2.-Crear
un activity “HorarioDisponible” en res/layout
a) Observa que se crea el archivo
java/HorarioDisponible.java
Y el archivo res/layout/activity_horario_disponible.xml
b) El contenido de la interfaz
activity_horario_disponible.xml
quedara de la siguiente forma: (Recuerda que con arrastrar y pegar los
componentes se va generando el código XML)
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView; public class ImageAdapter extends BaseAdapter { private Context mContext; public ImageAdapter(Context c) { mContext = c; } public int getCount() { return materias.length; } public Object getItem(int position) { return materias[position]; } public long getItemId(int position) { return position; } // create a new ImageView for each item referenced by the Adapter public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView; if (convertView == null) { imageView = new ImageView(mContext); imageView.setLayoutParams(new GridView.LayoutParams(160, 160)); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); imageView.setHorizontalScrollBarEnabled(true); imageView.setPadding(1, 1, 1, 1); } else { imageView = (ImageView) convertView; }
String nombremat= imageView.getResources().getResourceEntryName(materias[position]);
imageView.setTag(nombremat);
imageView.setImageResource(materias[position]);
return imageView;
}
// references to our images
private Integer[] materias = { R.drawable.m01010101, R.drawable.m01020102,R.drawable.m01030103, R.drawable.m01040104, R.drawable.m02010109, R.drawable.m02020110,R.drawable.m02030111, R.drawable.m02040112, R.drawable.m03010117, R.drawable.m03020118,R.drawable.m03030119, R.drawable.m03040120 };
}
5.- En el archivo
que se generó HorarioDisponible.xml
a) Escribir el siguiente código
import android.content.Intent; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.app.Activity; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.GridView; import android.widget.Toast; public class HorarioDisponible extends ActionBarActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_horario_disponible); GridView gridview = (GridView) findViewById(R.id.gridview); gridview.setAdapter(new ImageAdapter(this)); gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View v, int position, long id) { Toast.makeText(HorarioDisponible.this,"Posicion:" + String.valueOf(position), Toast.LENGTH_SHORT).show(); String materianame= v.getTag().toString(); Toast.makeText(HorarioDisponible.this,"Materia:" + materianame, Toast.LENGTH_SHORT).show(); Intent muestrahoras = new Intent(HorarioDisponible.this, horariomostrar.class); muestrahoras.putExtra("materia",materianame); startActivity(muestrahoras); } }); } }
5.-
Quedara asi: Observar que al pulsar detecta la posición del ítem seleccionado

















No hay comentarios.:
Publicar un comentario