ViewPager falla al cargar Fragment
Publicado por fran (4 intervenciones) el 30/03/2016 09:41:49
Hola xicos q tal, estoy desarrollando unas pruebas con un ViewPager y Fragments asociados a sus pestañas, soy nuevo con la programación Android y llevo un par de dias intentando solucionar el problema, me remito a este foro para ver si alguien puede echarme una mano.
Resulta que estoy trabajando con el paquete android.support.v4.app. para gestionar los fragments, fragmentactivity y fragmentmanager.
Aqui dejo el codigo del main activity:
Aqui dejo codigo del SampleAdapter
y Aqui el de unos de los fragments pues ambos son iguales
Ell error que me aparece en el android monitor de android studio es el siguiente:
/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.ej.diffviewpage, PID: 2292
java.lang.IllegalStateException: Can't change tag of fragment EditorFragment{1835cd id=0x7f0c0050 android:switcher:2131492944:0}: was android:switcher:2131492944:0 now android:switcher:2131492944:1
Al parecer salta al crear el adapter.
Gracias.
Resulta que estoy trabajando con el paquete android.support.v4.app. para gestionar los fragments, fragmentactivity y fragmentmanager.
Aqui dejo el codigo del main activity:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package com.example.ej.diffviewpage;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
public class DiffViewPageActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_diff_view_page);
ViewPager pager=(ViewPager)findViewById(R.id.pager);
pager.setAdapter(new SampleAdapter(getSupportFragmentManager()));
}
}
Aqui dejo codigo del SampleAdapter
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
package com.example.ej.diffviewpage;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
public class SampleAdapter extends FragmentPagerAdapter {
private static int NUM_ITEMS = 3;
public SampleAdapter(FragmentManager mgr) {
super(mgr);
}
@Override
public int getCount() {
return (NUM_ITEMS);
}
@Override
public Fragment getItem(int position) {
if (position == 0) {
return EditorFragment.newInstance(position);
} else if (position == 1) {
return EditorFragment.newInstance(position);
} else
return SwitchFragment.newInstance(position);
}
}
y Aqui el de unos de los fragments pues ambos son iguales
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
package com.example.ej.diffviewpage;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
* A simple {@link Fragment} subclass.
*/
public class EditorFragment extends Fragment {
protected static String KEY_POSITION = "position";
protected static EditorFragment frag = null;
public static EditorFragment newInstance(int position){
if (frag == null) {
frag = new EditorFragment();
Bundle args = new Bundle();
args.putInt(KEY_POSITION, position);
frag.setArguments(args);
}
return (frag);
}
public EditorFragment() {
super();
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View result = inflater.inflate(R.layout.fragment_editor, container, false);
return (result);
}
}
Ell error que me aparece en el android monitor de android studio es el siguiente:
/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.ej.diffviewpage, PID: 2292
java.lang.IllegalStateException: Can't change tag of fragment EditorFragment{1835cd id=0x7f0c0050 android:switcher:2131492944:0}: was android:switcher:2131492944:0 now android:switcher:2131492944:1
Al parecer salta al crear el adapter.
Gracias.
Valora esta pregunta


0