José Lopera
- Posts del Foro: 1
16 mar. 2014 13:30:52 vía Web
16 mar. 2014 13:30:52 vía Web
Bueno llevo varias semanas atascado en un problema, es fácil pero no consigo resolverlo, os explico:
Simplemente es un programa con un slidingmenu lateral que cuando pinchas en uno de ellos se te abre una pantalla, una cosa mas o menos así:
Mi problema es que no se por qué los botones no funcionan, en la pantalla de inicio hay dos botones LOGIN y REGISTER, el register aun no lo he implementado, pero en el LOGIN, metas los valores que metas, he puesto para que cambie el mensaje "USUARIO" a "BIENVENIDO", no es su funcionamiento pero lo he puesto así a modo prueba simplemente para ver que el botón se ejecuta cada vez que cargue ese fragment y que el boton realmente funciona.
Bien pues no funciona, el código del funcionamiento del boton estoy 100% seguro de que está bien porque lo he probado aparte, lo que no se es porqué no me deja pulsarlo. Os dejo el código a ver si alguien puede decirme algo porque estoy un poco desesperado xDDD Gracias:
MainActivity.java (Actividad principal)
MainView.java (Fragment que se muestra donde están mis dos botones que no consigo pulsar)
RandomList (Clase del sliding menú que hace los replaces y transacciones)
Simplemente es un programa con un slidingmenu lateral que cuando pinchas en uno de ellos se te abre una pantalla, una cosa mas o menos así:
Mi problema es que no se por qué los botones no funcionan, en la pantalla de inicio hay dos botones LOGIN y REGISTER, el register aun no lo he implementado, pero en el LOGIN, metas los valores que metas, he puesto para que cambie el mensaje "USUARIO" a "BIENVENIDO", no es su funcionamiento pero lo he puesto así a modo prueba simplemente para ver que el botón se ejecuta cada vez que cargue ese fragment y que el boton realmente funciona.
Bien pues no funciona, el código del funcionamiento del boton estoy 100% seguro de que está bien porque lo he probado aparte, lo que no se es porqué no me deja pulsarlo. Os dejo el código a ver si alguien puede decirme algo porque estoy un poco desesperado xDDD Gracias:
MainActivity.java (Actividad principal)
1public class MainActivity extends BaseActivity{
2
3 private Fragment mContent;
4
5 public MainActivity(){
6 super(R.string.app_name);
7 }
8
9 @Override
10 public void onCreate(Bundle savedInstanceState){
11 super.onCreate(savedInstanceState);
12
13 if (savedInstanceState != null)
14 mContent = getSupportFragmentManager().getFragment(savedInstanceState, "mContent");
15 if (mContent == null)
16 mContent = new MainView();
17
18 setContentView(R.layout.content_frame);
19 getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, mContent).commit();
20
21 setBehindContentView(R.layout.menu_frame);
22 getSupportFragmentManager().beginTransaction().replace(R.id.menu_frame, new RandomList()).commit();
23
24
25 getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
26 setSlidingActionBarEnabled(true);
27
28 }
29
30 @Override
31 public void onSaveInstanceState(Bundle outState){
32 super.onSaveInstanceState(outState);
33 getSupportFragmentManager().putFragment(outState, "mContent", mContent);
34 }
35
36 public void switchContent(Fragment fragment){
37 mContent = fragment;
38 getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, fragment).commit();
39 getSlidingMenu().showContent();
40 }
41}
2
3 private Fragment mContent;
4
5 public MainActivity(){
6 super(R.string.app_name);
7 }
8
9 @Override
10 public void onCreate(Bundle savedInstanceState){
11 super.onCreate(savedInstanceState);
12
13 if (savedInstanceState != null)
14 mContent = getSupportFragmentManager().getFragment(savedInstanceState, "mContent");
15 if (mContent == null)
16 mContent = new MainView();
17
18 setContentView(R.layout.content_frame);
19 getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, mContent).commit();
20
21 setBehindContentView(R.layout.menu_frame);
22 getSupportFragmentManager().beginTransaction().replace(R.id.menu_frame, new RandomList()).commit();
23
24
25 getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
26 setSlidingActionBarEnabled(true);
27
28 }
29
30 @Override
31 public void onSaveInstanceState(Bundle outState){
32 super.onSaveInstanceState(outState);
33 getSupportFragmentManager().putFragment(outState, "mContent", mContent);
34 }
35
36 public void switchContent(Fragment fragment){
37 mContent = fragment;
38 getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, fragment).commit();
39 getSlidingMenu().showContent();
40 }
41}
MainView.java (Fragment que se muestra donde están mis dos botones que no consigo pulsar)
1public class MainView extends SherlockFragment implements OnClickListener{
2
3 private EditText campoUsuario;
4 private EditText campoPass;
5 private TextView textoUsuario;
6 private TextView textoPass;
7
8 private int login = 0;
9
10
11 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
12
13 View view = inflater.inflate(R.layout.activity_main, container, true);
14
15 textoUsuario = (TextView) view.findViewById(R.id.textUsuario);
16 campoUsuario = (EditText) view.findViewById(R.id.editTextUsuario);
17
18 textoPass = (TextView) view.findViewById(R.id.textPass);
19 campoPass = (EditText) view.findViewById(R.id.editTextPass);
20
21 ImageButton botonLogin = (ImageButton) view.findViewById(R.id.imageButtonLogin);
22 botonLogin.setOnClickListener(this);
23
24 ImageButton botonRegister = (ImageButton) view.findViewById(R.id.imageButtonRegister);
25 botonRegister.setOnClickListener(this);
26
27
28 return inflater.inflate(R.layout.activity_main, container, false);
29 //return view;
30 }
31
32 private void switchContent(Fragment fragment){
33 MainActivity ma = (MainActivity) getActivity();
34 ma.switchContent(fragment);
35 }
36
37 @Override
38 public void onClick(View v) {
39
40 // TODO Auto-generated method stub
41 Fragment newFragment = new MainView();
42 FragmentManager fm = getFragmentManager();
43 Log.i("ENTRAONCLICK","ENTRAONCLICK");
44 switch(v.getId())
45 {
46 case R.id.imageButtonLogin: //newFragment = new MainView();
47 login = checkLogin(campoUsuario.getText(), campoPass.getText());
48 break;
49
50 case R.id.imageButtonRegister:
51 newFragment = new Register();
52 if (newFragment != null)
53 {
54 switchContent(newFragment);
55 }
56
57 FragmentTransaction ft = fm.beginTransaction();
58
59 ft.replace(R.id.content_frame, newFragment);
60 ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
61 ft.show(newFragment);
62 ft.commit();
63
64 break;
65 }
66
67 if(login == 1)
68 textoUsuario.setText("BIENVENIDO");
69
70
71 }
72
73 private int checkLogin(Editable text, Editable text2) {
74 // TODO Auto-generated method stub
75
76 Log.i("ENTRALOG", "ENTRALOG");
77 //BUSQUEDA SQL AL SERVIDOR Y COMPROBAR SI ES CORRECTO EL USUARIO Y LA CONTRASEÑA
78
79 return 1;
80 }
81
82}
2
3 private EditText campoUsuario;
4 private EditText campoPass;
5 private TextView textoUsuario;
6 private TextView textoPass;
7
8 private int login = 0;
9
10
11 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
12
13 View view = inflater.inflate(R.layout.activity_main, container, true);
14
15 textoUsuario = (TextView) view.findViewById(R.id.textUsuario);
16 campoUsuario = (EditText) view.findViewById(R.id.editTextUsuario);
17
18 textoPass = (TextView) view.findViewById(R.id.textPass);
19 campoPass = (EditText) view.findViewById(R.id.editTextPass);
20
21 ImageButton botonLogin = (ImageButton) view.findViewById(R.id.imageButtonLogin);
22 botonLogin.setOnClickListener(this);
23
24 ImageButton botonRegister = (ImageButton) view.findViewById(R.id.imageButtonRegister);
25 botonRegister.setOnClickListener(this);
26
27
28 return inflater.inflate(R.layout.activity_main, container, false);
29 //return view;
30 }
31
32 private void switchContent(Fragment fragment){
33 MainActivity ma = (MainActivity) getActivity();
34 ma.switchContent(fragment);
35 }
36
37 @Override
38 public void onClick(View v) {
39
40 // TODO Auto-generated method stub
41 Fragment newFragment = new MainView();
42 FragmentManager fm = getFragmentManager();
43 Log.i("ENTRAONCLICK","ENTRAONCLICK");
44 switch(v.getId())
45 {
46 case R.id.imageButtonLogin: //newFragment = new MainView();
47 login = checkLogin(campoUsuario.getText(), campoPass.getText());
48 break;
49
50 case R.id.imageButtonRegister:
51 newFragment = new Register();
52 if (newFragment != null)
53 {
54 switchContent(newFragment);
55 }
56
57 FragmentTransaction ft = fm.beginTransaction();
58
59 ft.replace(R.id.content_frame, newFragment);
60 ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
61 ft.show(newFragment);
62 ft.commit();
63
64 break;
65 }
66
67 if(login == 1)
68 textoUsuario.setText("BIENVENIDO");
69
70
71 }
72
73 private int checkLogin(Editable text, Editable text2) {
74 // TODO Auto-generated method stub
75
76 Log.i("ENTRALOG", "ENTRALOG");
77 //BUSQUEDA SQL AL SERVIDOR Y COMPROBAR SI ES CORRECTO EL USUARIO Y LA CONTRASEÑA
78
79 return 1;
80 }
81
82}
RandomList (Clase del sliding menú que hace los replaces y transacciones)
1public class RandomList extends Fragment implements View.OnClickListener{
2
3 String[] list_contents = {
4 "Principal",
5 "Destinos",
6 "Tipos de viajes",
7 "Nuestra seleccion",
8 "Viajes a medida",
9 "Sobre Kikahle"
10 };
11
12 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
13
14 //View view = inflater.inflate(R.layout.list, container);
15
16 View view = inflater.inflate(R.layout.list, container, false);
17
18
19 ImageButton buttonItem1 = (ImageButton) view.findViewById(R.id.buttonItem1);
20 buttonItem1.setOnClickListener(this);
21
22 ImageButton buttonItem2 = (ImageButton) view.findViewById(R.id.buttonItem2);
23 buttonItem2.setOnClickListener(this);
24
25 ImageButton buttonItem3 = (ImageButton) view.findViewById(R.id.buttonItem3);
26 buttonItem3.setOnClickListener(this);
27
28 ImageButton buttonItem4 = (ImageButton) view.findViewById(R.id.buttonItem4);
29 buttonItem4.setOnClickListener(this);
30
31 ImageButton buttonItem5 = (ImageButton) view.findViewById(R.id.buttonItem5);
32 buttonItem5.setOnClickListener(this);
33
34 ImageButton buttonItemInicio = (ImageButton) view.findViewById(R.id.buttonItemInicio);
35 buttonItemInicio.setOnClickListener(this);
36
37 ImageButton buttonItemAccount = (ImageButton) view.findViewById(R.id.buttonItemAccount);
38 buttonItemAccount.setOnClickListener(this);
39
40 return view;
41 }
42
43 private void switchContent(Fragment fragment){
44 MainActivity ma = (MainActivity) getActivity();
45 ma.switchContent(fragment);
46 }
47
48 @Override
49 public void onClick(View v) {
50 // TODO Auto-generated method stub
51 Fragment newFragment = new MainView();
52 FragmentManager fm = getFragmentManager();
53
54
55 switch(v.getId())
56 {
57 case R.id.buttonItem1: newFragment = new Item1();
58 break;
59
60 case R.id.buttonItem2: newFragment = new Item2();
61 break;
62
63 case R.id.buttonItem3: newFragment = new Item3();
64 break;
65
66 case R.id.buttonItem4: newFragment = new Item1();
67 break;
68
69 case R.id.buttonItem5: newFragment = new Item5();
70 break;
71
72 case R.id.buttonItemInicio: newFragment = new MainView();
73 break;
74
75 case R.id.buttonItemAccount: newFragment = new Register();
76 break;
77 }
78
79
80 if (newFragment != null)
81 {
82 switchContent(newFragment);
83 }
84
85 FragmentTransaction ft = fm.beginTransaction();
86
87 ft.replace(R.id.content_frame, newFragment);
88 ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
89 ft.show(newFragment);
90 ft.commit();
91 }
92}
2
3 String[] list_contents = {
4 "Principal",
5 "Destinos",
6 "Tipos de viajes",
7 "Nuestra seleccion",
8 "Viajes a medida",
9 "Sobre Kikahle"
10 };
11
12 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
13
14 //View view = inflater.inflate(R.layout.list, container);
15
16 View view = inflater.inflate(R.layout.list, container, false);
17
18
19 ImageButton buttonItem1 = (ImageButton) view.findViewById(R.id.buttonItem1);
20 buttonItem1.setOnClickListener(this);
21
22 ImageButton buttonItem2 = (ImageButton) view.findViewById(R.id.buttonItem2);
23 buttonItem2.setOnClickListener(this);
24
25 ImageButton buttonItem3 = (ImageButton) view.findViewById(R.id.buttonItem3);
26 buttonItem3.setOnClickListener(this);
27
28 ImageButton buttonItem4 = (ImageButton) view.findViewById(R.id.buttonItem4);
29 buttonItem4.setOnClickListener(this);
30
31 ImageButton buttonItem5 = (ImageButton) view.findViewById(R.id.buttonItem5);
32 buttonItem5.setOnClickListener(this);
33
34 ImageButton buttonItemInicio = (ImageButton) view.findViewById(R.id.buttonItemInicio);
35 buttonItemInicio.setOnClickListener(this);
36
37 ImageButton buttonItemAccount = (ImageButton) view.findViewById(R.id.buttonItemAccount);
38 buttonItemAccount.setOnClickListener(this);
39
40 return view;
41 }
42
43 private void switchContent(Fragment fragment){
44 MainActivity ma = (MainActivity) getActivity();
45 ma.switchContent(fragment);
46 }
47
48 @Override
49 public void onClick(View v) {
50 // TODO Auto-generated method stub
51 Fragment newFragment = new MainView();
52 FragmentManager fm = getFragmentManager();
53
54
55 switch(v.getId())
56 {
57 case R.id.buttonItem1: newFragment = new Item1();
58 break;
59
60 case R.id.buttonItem2: newFragment = new Item2();
61 break;
62
63 case R.id.buttonItem3: newFragment = new Item3();
64 break;
65
66 case R.id.buttonItem4: newFragment = new Item1();
67 break;
68
69 case R.id.buttonItem5: newFragment = new Item5();
70 break;
71
72 case R.id.buttonItemInicio: newFragment = new MainView();
73 break;
74
75 case R.id.buttonItemAccount: newFragment = new Register();
76 break;
77 }
78
79
80 if (newFragment != null)
81 {
82 switchContent(newFragment);
83 }
84
85 FragmentTransaction ft = fm.beginTransaction();
86
87 ft.replace(R.id.content_frame, newFragment);
88 ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
89 ft.show(newFragment);
90 ft.commit();
91 }
92}
Contenido editorial recomendado
Con su consentimiento, aquí se cargan contenidos externos.
Al hacer clic en el botón anterior, acepta que se le muestren contenidos externos. En el proceso pueden transmitirse datos personales a terceros proveedores. Encontrará más información al respecto en nuestro Política de privacidad.