0
IF 문 내에서 getTopics를 사용하여 텍스트 파일에서 가져온 데이터를 사용하고 있습니다. 데이터가있는 경우 조각에 작업 표시 줄에 해당 탭이 있음을 의미합니다. 그러나 이것을 추가하면 null 포인터 예외가 발생합니다. 이것은 추가 될 세 번째 조각에서 발생합니다. 나누기Android 용 Java에서 FragmentStatePagerAdapter를 사용할 때 Null 포인터 예외가 발생합니다.
최신 코드 :
class MyAdapter extends FragmentStatePagerAdapter
{
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
Fragment fragment=null;
if(i==0) //This fragment always has a corresponding action bar tab.
{
fragment=new FragmentA();
}
addTabPosition = 2; //Variable used in getTopics().
addTabTitle = "";
GetTopics();
if(i==1 && !(addTabTitle == ""))
{
fragment=new FragmentB();
}
addTabPosition = 3;
addTabTitle = "";
GetTopics();
if(i==2 && !(addTabTitle == "")) //This is where the program breaks.
{
fragment=new FragmentC();
}
return fragment;
}
오래된 코드를 아프게하지 않습니다 내가 원시 INT이며 null이 될 수 없다으로
class MyAdapter extends FragmentStatePagerAdapter
{
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
Fragment fragment=null;
if(i==0)
{
fragment=new FragmentA();
}
if(i==1)
{
fragment=new FragmentB();
}
if(i==2)
{
fragment=new FragmentC();
}
return fragment;
}
당신은 또한 충돌 –
에서 오류 로그를 게시해야을, 각 두 번) (GetTopics를 실행하는 의도였다 인수가 무엇인지에 관계없이 getItem() 호출? 이 코드에 대한 귀하의 의도는 무엇인지 모르겠지만 문장의 바깥에 'if'문을 사용해야한다는 것을 의미합니다. – WalkingFood
if-condition에서 nullsave 방법을 사용해야한다고 생각합니다. "".equals (addTabTitle) –