![]() |
|
| Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
«
Tema Anterior
|
Siguiente tema
»
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Duda dinámica
Bueno, como no se explicar bien mi problema pongo un ejemplo y luego lo intento explicar un poco a ver si me ayuda un poco el haberlo escrito antes:
Código:
if (turno == 1) player1.setText("Es tu turno!");
else if (turno == 2) player2.setText("Es tu turno!");
Código:
for (int a = 1; a < numPlayers; a++)
{
player[a].setText("Es tu turno!");
}
Un saludo y gracias de antemano! |
|
|
|
#2
|
||||
|
||||
|
Observación 1) ¿Estás seguro que ese int a = 1 es así y no debería ser int a = 0? Cada uno programa como le da la gana, si la inicialización la has hecho sobre player[1] y player[2] entonces debería dar igual, pero lo lógico es que esté hecha sobre player[0] y player[1].
Observación 2) ¿Has inicializado correctamente los elementos del array cada uno apuntando a su TextView? |
|
#3
|
||||
|
||||
|
Como ya había dicho es un simple ejemplo de cómo me gustaría usarlo pero no se puede utilizar así. Yo tengo esto:
TextView player1, player2; int players = 2; player1 = (TextView)findViewById(R.id.player1); player2 = (TextView)findViewById(R.id.player2); player1.setText('hola'); player2.setText('hola'); Pero lo que yo quiero es que ese texto se ponga dinámicamente sin tener que poner dos TextViews, por ejemplo: For (int a = 1; a < players; a++) { player[a].setText('hola'); } Inicializo con a = 1 porque en el ejemplo no he declarado ninguna variable player0. En el ejemplo lo he puesto con 2, pero yo lo quiero hacer con 7, y no sólo una, sino varias veces, y si me lo puedo ahorrar me lo ahorro y lo optimizo. Si intentas ponerlo todo en un proyecto nuevo tal y como lo he puesto, te dará un error en la parte del for. Exactamente en player[a] porque no es una variable, sino un TextView. Yo no quiero enlazar un array con los TextView porque estoy en las mismas. Cómo pongo eso en un for? Espero que me harías entendido. Gracias por contestar. Un saludo. Enviado desde mi LG-P970 usando Tapatalk |
|
#4
|
||||
|
||||
|
Es que eso no funciona así player[1] no es lo mismo que player1. Ya te lo he dicho varias veces, te aconsejo que te cojas un curso de Java a fondo antes de seguir con Android, te veo bastante verde en programación general, y ya ni que decir en POO.
Para que ese código funcionase tienes en primer lugar que declarar player, como un array de TextView, y en segundo lugar asignarle los TextView. TextView player1, player2; int players = 2; TextView player[] = new TextView[players]; player1 = (TextView)findViewById(R.id.player1); player2 = (TextView)findViewById(R.id.player2); player[0] = player1; player[1] = player2; for (int a = 0; a < players; a++) { player[a].setText('hola'); } Eso sería un código correcto, de todas formas si lo que quieres es tener 1 solo TextView y que el texto se vaya modificando según el jugador, no tiene nada que ver con lo que tienes hecho. |
|
#5
|
||||
|
||||
|
A ver, yo ya sé que player1 no es lo mismo que player[1], lo que pasa que lo decía de modo que otros pudieran entenderlo mejor. Parece que me he explicado mal entonces.
Y tienes razón, de Java no tengo ni idea, nunca he hecho nada en Java, solo he hecho en C++, y por lo que llevo programado en Java es exactamente lo mismo que C++, sólo que claro cambian diversas cosillas pero la estructuración es muy muy parecida. Si me he puesto con Android y Java es porque la programación la aprendo más rápida y efectivamente yo solo que me la enseñe un supuesto profesor, dejarme la pasta y que lo haga mal. Pero bueno esa no es la cuestión. Gracias por la respuesta. |
|
#6
|
||||
|
||||
|
Si sabes C++ entonces si que tienes bastante base para programar en Java.
Y no te tomes a mal lo que te he dicho, pero es que la mayoría de dudas que tienes es sobre cosas básicas de Java, y no sobre Android en particular. Por eso te lo decía. De todas formas aquí estamos para ayudar, por eso te aclaré la duda, si sigues teniendo más dudas aquí estamos. |
|
#7
|
||||
|
||||
|
No no, en ningún momento me lo he tomado mal. Es más, entiendo tu posición, ya que hay mucha gente que pregunta cosas que salen como primer resultado en google antes mirarse nada (entre los cuales nome incluyo, siempre busco exhaustivamente información en castellano y en inglés, aunque muchas veces no se encuentra la información como a uno le gustaría encontrar).
Alguna cosilla básica sí que he preguntado porque ya hacia unos meses que no tocaba C++ antes de ponerme con Java y el framework de Android, y al mirar mis códigos y apuntes de C++ no me aclaraba mucho. Gracias por tu comprensión y, sobretodo, tu ayuda. Un saludo. |
| Respuesta |
Estás aquí
|
||||||
|
||||||
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 23:20:58 (GMT +1)
HTCMania: líderes desde el 2007





