problemas con Listview
Publicado por juanjo (1 intervención) el 15/05/2015 02:42:57
Lo primero hola a todos y gracias por este gran foro. Mi problema es que tengo un listview y lo recorro para sacar los datos que el usuario introduce en el, si el listview cabe entero en pantalla no hay ningun problema, todo funciona perfectamente, recojo los datos y los muestro sin ningun problema, pero si el listview no me cabe entero en pantalla ya que es dinamico y no se cuantos elementos tendra, es decir, si me toca hacer scroll para ver algun elemento ya no puedo recojer los datos del listview, me da un null pointer exception, alguien sabe a que puede ser debido esto??, agradeceria muchisimo cualquier tipo de ayuda, este es mi codigo:
Espero que alguien me pueda ayudar, un saludo y gracias por todo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
public class ListaApuestas extends Activity{
public BaseAdapter adaptador;
protected static List<Apuesta> vectorApuestas = new ArrayList<Apuesta>();
double dinerototal;
int apuestatotal;
int j = 0;
double ganancia;
double gananciaredondeada;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lista_apuestas);
adaptador = new ArrayAdapter(this,
R.layout.elemento_lista,
R.id.apuestatext,
listaNombres());
ListView listView = (ListView) findViewById(R.id.listView);
listView.setAdapter(adaptador);
Button b = (Button) this.findViewById(R.id.enviarlista);
b.setOnClickListener(new View.OnClickListener() {
@override
public void onClick(View v) {
comprobarGanancia();
Intent i = new Intent(ListaApuestas.this, MostrarGanancia.class);
i.putExtra("ganancia", gananciaredondeada);
startActivity(i);
}
});
}
public List listaNombres(){
Bundle extras = getIntent().getExtras();
String apuesta = this.getIntent().getExtras().getString("text");
apuestatotal = Integer.parseInt(apuesta);
String dinero = extras.getString("text1");
dinerototal = Double.parseDouble(dinero);
ArrayList resultado = new ArrayList();
for (int i=0; i<apuestatotal; i++){
if (i<9){
resultado.add("apuesta 0" + (i+1) + " odds ");
} else {
resultado.add("apuesta " + (i+1) + " odds ");
}
}
return resultado;
}
public List crearListaApuestas() {
ListView lv = (ListView)findViewById(R.id.listView);
int count = lv.getAdapter().getCount();
for (int i = 0; i < count; i++)
{
ViewGroup row = (ViewGroup) lv.getChildAt(i);
CheckBox check = (CheckBox) row.findViewById(R.id.acertadocheck);
TextView apuesta = (TextView) row.findViewById(R.id.apuestatext);
EditText odds = (EditText) row.findViewById(R.id.oddstext);
// Get your controls from this ViewGroup and perform your task on them =)
String apuestaString = apuesta.getText().toString();
double oddsdouble = Double.parseDouble(odds.getText().toString());
boolean checked = false;
if (check.isChecked())
{
checked = true;
}
Apuesta apuestaArray = new Apuesta();
apuestaArray.setNombreapuesta(apuestaString);
apuestaArray.setOdds(oddsdouble);
apuestaArray.setCheck(checked);
vectorApuestas.add(apuestaArray);
}
return vectorApuestas;
}
public void comprobarGanancia() {
List<Apuesta> apuestasSimples = crearListaApuestas();
comprobarAciertos();
long aciertos = j;
ApuestaMultiple apuestaMultiple = new ApuestaMultiple(dinerototal, aciertos, apuestatotal, apuestasSimples);
ganancia = apuestaMultiple.calcularGanancia();
gananciaredondeada = (double) Math.round(ganancia * 100) / 100;
}
}
Espero que alguien me pueda ayudar, un saludo y gracias por todo.
Valora esta pregunta


0