Android - [Ayuda] Error condiciones if y spinner

 
Vista:
sin imagen de perfil

[Ayuda] Error condiciones if y spinner

Publicado por Julio (6 intervenciones) el 25/12/2017 02:22:24
Hola colegas. He estado intentando crear condiciones que cambien las entradas que apareceran en un spinner, dependiendo de los valores que tendran tres variables (Hold2, Hold3, Hold4), pero no he tenido exito en ninguno de mis intentos... cosa de novato inculto imagino. Si alguien me puede explicar o ayudar se lo agradeceria.

Aqui mi codigo... Intente de esa manera, pero nada...
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
package com.cursoandroid.makioone.cursoandroid;
 
import android.content.pm.ActivityInfo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.AdapterView.OnItemSelectedListener;
 
public class ActivityCompetenciasMatris extends AppCompatActivity {
 
    Spinner SpinnerItemPosition2;
    Spinner SpinnerItemPosition3;
    Spinner SpinnerItemPosition4;
    Spinner SpinnerItemPosition5;
 
    int Hold2;
    int Hold3;
    int Hold4;
 
    String[] number2 = new String[]{"Naturales"};
 
    String[] number3 = new String[]{
            "4to",
            "5to",
            "6to"
    };
 
    String[] number4 = new String[]{
            "Ciencias De La Vida",
            "Ciencias Fisicas",
            "Ciencias T. y U."
    };
 
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_competencias_matris);
 
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
 
        SpinnerItemPosition2 = (Spinner)findViewById(R.id.spinner2);
 
 
        ArrayAdapter<String> spinnerArrayAdapter2 = new ArrayAdapter<String>(this, R.layout.spinner_item_position, number2);
        spinnerArrayAdapter2.setDropDownViewResource(R.layout.spinner_item_position);
        SpinnerItemPosition2.setAdapter(spinnerArrayAdapter2);
        SpinnerItemPosition2.setOnItemSelectedListener(new OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                Hold2 = SpinnerItemPosition2.getSelectedItemPosition() + 1 ;
 
 
 
            }
 
            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
 
            }
        });
 
 
        SpinnerItemPosition3 = (Spinner)findViewById(R.id.spinner3);
 
 
        ArrayAdapter<String> spinnerArrayAdapter3 = new ArrayAdapter<String>(this, R.layout.spinner_item_position, number3);
        spinnerArrayAdapter3.setDropDownViewResource(R.layout.spinner_item_position);
        SpinnerItemPosition3.setAdapter(spinnerArrayAdapter3);
        SpinnerItemPosition3.setOnItemSelectedListener(new OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                Hold3 = SpinnerItemPosition3.getSelectedItemPosition() + 1 ;
 
 
 
            }
 
            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
 
            }
        });
 
 
        SpinnerItemPosition4 = (Spinner)findViewById(R.id.spinner4);
 
 
        ArrayAdapter<String> spinnerArrayAdapter4 = new ArrayAdapter<String>(this, R.layout.spinner_item_position, number4);
        spinnerArrayAdapter4.setDropDownViewResource(R.layout.spinner_item_position);
        SpinnerItemPosition4.setAdapter(spinnerArrayAdapter4);
        SpinnerItemPosition4.setOnItemSelectedListener(new OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                Hold4 = SpinnerItemPosition4.getSelectedItemPosition() + 1 ;
 
 
            }
 
            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
 
            }
 
        });
 
 
 
        //Aqui me gustaria cambiar las entradas del spinner dependiendo de los valores de Hold2, Hold3 y Hold4, pero no me funciona. No se porque.
 
        if (Hold2==1 && Hold3==1 && Hold4==1){
 
            String[] number5 = getResources().getStringArray(R.array.Cuarto_Ciencias_de_la_Vida1);
 
 
 
        }
 
		if (Hold2==1 && Hold3==1 && Hold4==2){
            String[] number5 = getResources().getStringArray(R.array.Cuarto_Ciencias_de_la_Vida2);
        }
 
		            SpinnerItemPosition5 = (Spinner)findViewById(R.id.spinner5z);
 
            ArrayAdapter<String> spinnerArrayAdapter5 = new ArrayAdapter<String>(this, R.layout.spinner_item_position, number5);
 
            spinnerArrayAdapter5.setDropDownViewResource(R.layout.spinner_item_position);
            SpinnerItemPosition5.setAdapter(spinnerArrayAdapter5);
 
 
    }
 
 
 
    }



Y asi, pero nada... no muestra nada. Cree una clase, pero igualmente me dio un error... por eso pido su ayuda.

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
        //Aqui me gustaria cambiar las entradas del spinner dependiendo de los valores de Hold2, Hold3 y Hold4, pero no me funciona. No se porque.
 
        if (Hold2==1 && Hold3==1 && Hold4==1){
 
            String[] number5 = getResources().getStringArray(R.array.Cuarto_Ciencias_de_la_Vida1);
 
		            SpinnerItemPosition5 = (Spinner)findViewById(R.id.spinner5z);
 
            ArrayAdapter<String> spinnerArrayAdapter5 = new ArrayAdapter<String>(this, R.layout.spinner_item_position, number5);
 
            spinnerArrayAdapter5.setDropDownViewResource(R.layout.spinner_item_position);
            SpinnerItemPosition5.setAdapter(spinnerArrayAdapter5);
 
 
 
        }
 
		if (Hold2==1 && Hold3==1 && Hold4==2){
            String[] number5 = getResources().getStringArray(R.array.Cuarto_Ciencias_de_la_Vida2);
 
		            SpinnerItemPosition5 = (Spinner)findViewById(R.id.spinner5z);
 
            ArrayAdapter<String> spinnerArrayAdapter5 = new ArrayAdapter<String>(this, R.layout.spinner_item_position, number5);
 
            spinnerArrayAdapter5.setDropDownViewResource(R.layout.spinner_item_position);
            SpinnerItemPosition5.setAdapter(spinnerArrayAdapter5);
        }
 
 
 
 
    }
 
 
 
    }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Francisco
Val: 466
Oro
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

[Ayuda] Error condiciones if y spinner

Publicado por Francisco (358 intervenciones) el 25/12/2017 14:49:38
solo veo un spinner declarado


Spinner SpinnerItemPosition2;
Spinner SpinnerItemPosition3;
Spinner SpinnerItemPosition4;
Spinner SpinnerItemPosition5;

SpinnerItemPosition2 = (Spinner)findViewById(R.id.spinner2);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

[Ayuda] Error condiciones if y spinner

Publicado por Julio (6 intervenciones) el 25/12/2017 22:35:27
Hola Francisco, todos los Spinner estan declarados!. Solo que no estan declarados uno tras otro. Te los facilito a continuacion, pero ya estan en el codigo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Spinner SpinnerItemPosition2;
    Spinner SpinnerItemPosition3;
    Spinner SpinnerItemPosition4;
    Spinner SpinnerItemPosition5;
 
SpinnerItemPosition2 = (Spinner)findViewById(R.id.spinner2);
 
SpinnerItemPosition3 = (Spinner)findViewById(R.id.spinner3);
 
SpinnerItemPosition4 = (Spinner)findViewById(R.id.spinner4);
 
 
//Y el ultimo es:
SpinnerItemPosition5 = (Spinner)findViewById(R.id.spinner5z);

Mi problema radica en que no logro hacer funcionar el spinner5z en conbinacion con condiciones if/else. Para cambiar las entradas que apareceran dentro del spinner ("String[] number5 = getResources().getStringArray(R.array.Cuarto_Ciencias_de_la_Vida1);").

O sea, si Hold2 ==1 && Hold3==1 && Hold4==1, el spinner5z tendra como opciones "x cosas"... y así sucesivamente.


Cuando coloco la informacion (codigo del spinner5z) dentro de la estructura del if ("if () {}") las entradas del spinner5z desaparecen, o sea, se queda vacio. Si elimino el if las opciones aparecen, pero sin el if no podria cambiar las entradas mediante la comprobacion de las condiciones, creo yo. Necesito ayuda con eso!.

1
2
3
4
5
6
7
8
9
10
//Codigo del spinner5z
 
            String[] number5 = getResources().getStringArray(R.array.Cuarto_Ciencias_de_la_Vida1);
 
		            SpinnerItemPosition5 = (Spinner)findViewById(R.id.spinner5z);
 
            ArrayAdapter<String> spinnerArrayAdapter5 = new ArrayAdapter<String>(this, R.layout.spinner_item_position, number5);
 
            spinnerArrayAdapter5.setDropDownViewResource(R.layout.spinner_item_position);
            SpinnerItemPosition5.setAdapter(spinnerArrayAdapter5);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

[Resuelto] Error condiciones if y spinner

Publicado por Julio (6 intervenciones) el 26/12/2017 01:26:46
Hola colegas. Ya he resuelto mi problema, y lo hice por mi mismo . Lo que hice fue crear un metodo llamado MyIfCondit (o como quiera llamarlo luego), coloque mis condiciones dentro del metodo. Cree un boton, y mediante el mismo llamo el metodo, lo que provoca que se comprueben las conficiones y se llene el spinner con los datos que correspondan.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar