¿Cómo configurar la vista o la actividad para lidiar con la actividad de lista anterior? por ejemplo, "ver la página de detalles completa"

Este es mi ListActivity después de hacer clic en la lista se iniciará una nueva activity que muestra el detalle completo de cada lugar de atracción. No tengo idea de cómo implementar la página de detalles completos. ¿Pueden mostrarme algún código de actividad de detalle completo que recupere datos de la list?

La actividad de lista de atracciones de clase pública amplía la actividad de lista {MyDB mDbHelper estático privado; Cadena [] de = nueva Cadena [] {Constants.TITLE_NAME, Constants.ADDRESS_NAME}; int [] to = new int [] {R.id.place_title, R.id.place_address}; Cursor privado c; @Override public void onCreate (Bundle SavedInstanceState) {super.onCreate (SavedInstanceState); mDbHelper = new MyDB (esto); mDbHelper.open (); c = mDbHelper.getplaces (); setListAdapter (nuevo SimpleCursorAdapter (esto, R.layout.list_place, c, desde, hasta)); ListView final lv = getListView (); lv.setOnItemClickListener (new OnItemClickListener () {public void onItemClick (AdapterView parent, View view, int position, long id) {Intent newActivity = new Intent (view.getContext (), Place.class); startActivity (newActivity);}} ); }}

No tengo idea de cómo implementar esta actividad para lidiar con la acción de AttractionlistActivity.Class

clase pública El lugar amplía la actividad {privado estático final String CLASSTAG = Place.class.getSimpleName (); título de TextView privado; detalle de TextView privado; ubicación privada de TextView; teléfono privado TextView; imagen privada de ImageView; public void onCreate (Bundle SavedInstanceState) {super.onCreate (SavedInstanceState); Log.v (Constants.TAG, "" + Place.CLASSTAG + "onCreate"); this.setContentView (R.layout.detail_place); this.title = (TextView) findViewById (R.id.name_detail); //title.setText(cursor.getString(Constants.TITLE_NAME)); this.detail = (TextView) findViewById (R.id.place_detail); this.location = (TextView) findViewById (R.id.location_detail); this.phone = (TextView) findViewById (R.id.phone_detail); this.placeImage = (ImageView) findViewById (R.id.place_image); }}

preguntado el 31 de mayo de 11 a las 01:05

3 Respuestas

  1. Anular onListItemClick(...) en su Actividad de lista, usando el Cursor obtenga la identificación del elemento seleccionado
  2. Comience su actividad de detalles pasando la identificación a través de los extras de la intención
  3. En su Actividad detallada, recupere la identificación y abra un cursor para recuperar sus datos de la base de datos.
  4. Llena tu vista con los datos

contestado el 31 de mayo de 11 a las 06:05

¿Tiene algún código de ejemplo? Soy muy nuevo en la programación. lo siento por mi pobre. - April Smith

@April, debes hacer el tutorial del Bloc de notas de Android, lo explica muy bien. wired00

@Abril como sugiere @Programmer Bruce, eche un vistazo al tutorial del bloc de notas - aromero

El Tutorial del Bloc de notas de Android incluye un ejemplo de exactamente esto, si entiendo la pregunta correctamente.

contestado el 31 de mayo de 11 a las 05:05

Estoy de acuerdo, si la pregunta es cargar una pantalla de detalles / edición de un elemento de la lista en un ListActivity luego asegúrese de ejecutar el tutorial del Bloc de notas de Android - wired00

First of all sorry for the late answer,
in your adapter class you can use item click listener achieve this easily, please do the following steps for achieving this.


    lv.setOnItemClickListener(new OnItemClickListener() {
                public void onItemClick(
                      AdapterView parent, View view,int position, long id) {
    
                    Intent newActivity = new Intent(
                                         view.getContext(), Place.class);     
                    startActivity(newActivity);
    
              }
     });

for passing list item details into next screen you can use intent extras.before calling start activity u need pass the extras like below.

newActivity.putExtra("name", c.place);
newActivity.putExtra("description", c.placeDscription);
newActivity.putExtra("distance", c.distance);


after u need to call --->  startActivity(newActivity);

if you want pass string, Integer, float, boolean etc...types of data you can like above code.

Respondido el 13 de junio de 21 a las 13:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.