LuiTrO
20/01/13, 10:22:25
Hola a todos. Estoy haciendo una aplicación para la facultad de una simulación y tengo un problema, a ver si me podeis echar una mano.
La simulación consta de 2 activities:
La primera es una pantalla de ajustes donde podemos poner el valor de una constante (un double) que importo a la segunda activity.
La segunda activity es una animación de la simulación donde trabajaré con esa variable importada, pero el problema es que es al importarla no puedo trabajar con ella.
Aquí os dejo el .java de la segunda actiity:
package
import
public class Potencial_1 extends Activity {
//Hilo abierto
Thread hilo=null;
boolean continuar=true;
boolean dialogo=false;
//dt
int dt=100;
int tiempo;
//-----------------Variables--------------------
//-----------------------------------------------
DinamicaView dinamica;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//-------------------------IMPORTO EL BUNDLE-------------
//-------------------------------------------------------
dinamica=new DinamicaView(this);
setContentView(dinamica);
hilo=new Thread(dinamica);
hilo.start();
}
//Detenemos el hilo si hay pausa
@Override
public void onPause(){
super.onPause();
continuar=false;
}
//Reiniciamos el hilo si volvemos a la aplicación
@Override
public void onResume(){
super.onResume();
continuar=true;
if(hilo==null){
hilo=new Thread(dinamica);
hilo.start();
}
}
//Clase para pintar
class DinamicaView extends View implements Runnable{
Paint Paint0, Paint1,Paint2, Paint3, paintFondo, texto, PaintOnda, PaintPozo;
Path Onda,Pozo;
int m, n, m0, n0, size;
public DinamicaView(Context context){
super (context);
//--------------------------CONDICIONES INICIALES--------------------
//QUIERO IMPORTAR MI VARIABLE AQUÍ????
//-------------------------------------------------------------------
//PINCELES
paintFondo=new Paint();
.....
}
//--------------------------------Algoritmo--------------------------------------------------------------------------------//
public void run(){
while(continuar){
//OPERACIONES PARA CREAR LA ANIMACIÓN
tiempo=tiempo+dt;
//REFRECAMOS
postInvalidate();
try{ Thread.sleep(dt); }catch (InterruptedException e){ ; }
}
}
//--------------------------------------------------------------------------------------------------------------------------------------------------------//
//----------------------------------------------------------DIBUJAR EN PANTALLA---------------------------------------------------------------------------//
//--------------------------------------------------------------------------------------------------------------------------------------------------------//
@Override
public void onDraw(Canvas canvas){
canvas.drawPaint(paintFondo);
}
}
}
}Como veis, importo el Bundle (double) dentro del onCreate, pero luego no puedo trabajar con esa variable dentro de "public DinamicaView(Context context){".
He estado buscando y no se que hacer, siempre me lio con los intent. A ver si me podeis echar una mano con este pequeño problemilla.
MUCHAS GRACIAS.
Código fuente: https://docs.google.com/folder/d/0B_RLL3CNSUA_QS1IVjJqQ0lUVW8/edit
Menu.java: actividad 1
Potencial_1.java: actividad 2
La simulación consta de 2 activities:
La primera es una pantalla de ajustes donde podemos poner el valor de una constante (un double) que importo a la segunda activity.
La segunda activity es una animación de la simulación donde trabajaré con esa variable importada, pero el problema es que es al importarla no puedo trabajar con ella.
Aquí os dejo el .java de la segunda actiity:
package
import
public class Potencial_1 extends Activity {
//Hilo abierto
Thread hilo=null;
boolean continuar=true;
boolean dialogo=false;
//dt
int dt=100;
int tiempo;
//-----------------Variables--------------------
//-----------------------------------------------
DinamicaView dinamica;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//-------------------------IMPORTO EL BUNDLE-------------
//-------------------------------------------------------
dinamica=new DinamicaView(this);
setContentView(dinamica);
hilo=new Thread(dinamica);
hilo.start();
}
//Detenemos el hilo si hay pausa
@Override
public void onPause(){
super.onPause();
continuar=false;
}
//Reiniciamos el hilo si volvemos a la aplicación
@Override
public void onResume(){
super.onResume();
continuar=true;
if(hilo==null){
hilo=new Thread(dinamica);
hilo.start();
}
}
//Clase para pintar
class DinamicaView extends View implements Runnable{
Paint Paint0, Paint1,Paint2, Paint3, paintFondo, texto, PaintOnda, PaintPozo;
Path Onda,Pozo;
int m, n, m0, n0, size;
public DinamicaView(Context context){
super (context);
//--------------------------CONDICIONES INICIALES--------------------
//QUIERO IMPORTAR MI VARIABLE AQUÍ????
//-------------------------------------------------------------------
//PINCELES
paintFondo=new Paint();
.....
}
//--------------------------------Algoritmo--------------------------------------------------------------------------------//
public void run(){
while(continuar){
//OPERACIONES PARA CREAR LA ANIMACIÓN
tiempo=tiempo+dt;
//REFRECAMOS
postInvalidate();
try{ Thread.sleep(dt); }catch (InterruptedException e){ ; }
}
}
//--------------------------------------------------------------------------------------------------------------------------------------------------------//
//----------------------------------------------------------DIBUJAR EN PANTALLA---------------------------------------------------------------------------//
//--------------------------------------------------------------------------------------------------------------------------------------------------------//
@Override
public void onDraw(Canvas canvas){
canvas.drawPaint(paintFondo);
}
}
}
}Como veis, importo el Bundle (double) dentro del onCreate, pero luego no puedo trabajar con esa variable dentro de "public DinamicaView(Context context){".
He estado buscando y no se que hacer, siempre me lio con los intent. A ver si me podeis echar una mano con este pequeño problemilla.
MUCHAS GRACIAS.
Código fuente: https://docs.google.com/folder/d/0B_RLL3CNSUA_QS1IVjJqQ0lUVW8/edit
Menu.java: actividad 1
Potencial_1.java: actividad 2