Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/11/2011, 16:53
Avatar de MarioAraque
MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 7 meses
Puntos: 265
Respuesta: Problemas al cambiar entre actividades

Este es el codigo:


Código PHP:
package com.rosal.pdb;

import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;

public class 
Pdb extends Activity {


    @
Override
    
public void onCreate(Bundle savedInstanceState) {
        try {
            
super.onCreate(savedInstanceState);
            
setContentView(R.layout.main);


            
// ATP
            
item = (ImageButtonfindViewById(R.id.atp);
            
item.setOnClickListener(new OnClickListener() {

                @
Override
                
public void onClick(View v) {
                    
Intent i = new Intent(getApplicationContext(), Pdb.class);
                    
i.putExtra("tid""2154");
                    
startActivity(i);
                }
            });

            
// WTA
            
item = (ImageButtonfindViewById(R.id.wta);
            
item.setOnClickListener(new OnClickListener() {

                @
Override
                
public void onClick(View v) {
                    
Intent i = new Intent(getApplicationContext(), Pdb.class);
                    
i.putExtra("tid""2155");
                    
startActivity(i);
                }
            });

            
// Copa davis
            
item = (ImageButtonfindViewById(R.id.copaDavis);
            
item.setOnClickListener(new OnClickListener() {

                @
Override
                
public void onClick(View v) {
                    
Intent i = new Intent(getApplicationContext(), Pdb.class);
                    
i.putExtra("tid""2156");
                    
startActivity(i);
                }
            });

            
// ATP
            
item = (ImageButtonfindViewById(R.id.copaFed);
            
item.setOnClickListener(new OnClickListener() {

                @
Override
                
public void onClick(View v) {
                    
Intent i = new Intent(getApplicationContext(), Pdb.class);
                    
i.putExtra("tid""2157");
                    
startActivity(i);
                }
            });

            
// ATP
            
item = (ImageButtonfindViewById(R.id.historia);
            
item.setOnClickListener(new OnClickListener() {

                @
Override
                
public void onClick(View v) {
                    
Intent i = new Intent(getApplicationContext(), Pdb.class);
                    
i.putExtra("tid""2159");
                    
startActivity(i);
                }
            });

            
// ATP
            
item = (ImageButtonfindViewById(R.id.jovenesPromesas);
            
item.setOnClickListener(new OnClickListener() {

                @
Override
                
public void onClick(View v) {
                    
Intent i = new Intent(getApplicationContext(), Pdb.class);
                    
i.putExtra("tid""2158");
                    
startActivity(i);
                }
            });

            
Bundle extras getIntent().getExtras();
            if (
extras == null) {
                
url = new XmlParser("http://www.puntodebreak.com/api/get.xml");
            } else {
                
tid extras.getString("tid");
                
url = new XmlParser(
                        
"http://www.puntodebreak.com/api/term/retrieve.xml?tid="
                                
tid);
            }

            
noticias url.parse();
            
content = (TableLayoutfindViewById(R.id.contenido);

            for (
int i 0noticias.size(); i++) {
                
// Declaro las nuevas filas

                
LinearLayout.LayoutParams layoutParam = new LinearLayout.LayoutParams(
                        
LinearLayout.LayoutParams.FILL_PARENT,
                        
LinearLayout.LayoutParams.WRAP_CONTENT);
                
layoutParam.setMargins(5050);

                
fila = new TableRow(this);
                
columnaImagen = new LinearLayout(this);
                
columnaTexto = new LinearLayout(this);

                
// Declaro el contenido
                
titulo = new TextView(this);
                
imagen = new ImageView(this);
                
fecha = new TextView(this);

                
// Configuro las columnas
                
fila.setPadding(510510);
                
fila.setOrientation(TableLayout.HORIZONTAL);
                
columnaImagen.setOrientation(LinearLayout.HORIZONTAL);
                
columnaImagen.setMinimumWidth(65);
                
columnaTexto.setOrientation(LinearLayout.VERTICAL);

                
titulo.setText(noticias.get(i).getTitulo());
                
bitmap BitmapFactory.decodeStream((InputStream) new URL(
                        
noticias.get(i).getImagen()).getContent());
                
imagen.setImageBitmap(bitmap);
                
fecha.setText(noticias.get(i).getFecha());

                
columnaImagen.addView(imagen);
                
columnaTexto.addView(titulo);
                
columnaTexto.addView(fecha);

                
fila.addView(columnaImagen);
                
fila.addView(columnaTexto);
                
fila.setTag(noticias.get(i).getNid());

                
fila.setOnClickListener(new OnClickListener() {

                    @
Override
                    
public void onClick(View v) {
                        
Intent i = new Intent(getApplicationContext(), Interiores.class);
                        
i.putExtra("nid"String.valueOf(v.getTag()));
                        
startActivity(i);
                    }
                });

                
content.addView(filalayoutParam);
            }

        } catch (
Exception e) {
            
Log.d("Error"e.toString());
        }
    }

Todo funciona bien, el problema es que cuando yo pincho en cada noticia (que ejecuta el onclick de la variable fila), yo quisiera que se cambie de pantalla automaticamente, y la nueva actividad que ejecute se cargue con la nueva pantalla. Ahora mismo yo presiono un item de menu (por decir un ejemplo), y la aplicacion se queda estatica, sin animacion .... y luego de un rato se carga todo nuevamente y se muestra el contenido.
Mi intencion es que se cambie de pantalla, salga un cuadro de dialogo diciendo "cargando" (eso es otra cosa) ... y luego se cargue la pantalla.

Estuve viendo cosas de animaciones, addflags, pero no logre nada interesante.

Si necesitas algo mas decime, pero....no es la gran cosa lo que he realizado.

Saludos.