当前位置: 代码迷 >> Android >> Andriod新手,出现小疑点,求解答~
  详细解决方案

Andriod新手,出现小疑点,求解答~

热度:97   发布时间:2016-04-28 01:28:14.0
Andriod新手,出现小问题,求解答~~
public class FragmentTabActivity extends Activity implements OnClickListener { 
private FragmentManager fragmentManager;
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
       requestWindowFeature(Window.FEATURE_NO_TITLE);  
        setContentView(R.layout.activity_fragment_tab);  
        setTabSelection(0);  //显示这行有错
    }  
    @Override  
    public void onClick(View v) {  
       switch (v.getId()) {  
        case R.id.login1_layout:  
                setTabSelection(0);  
            break;  
       case R.id.login2_layout:  
              setTabSelection(1);  
            break;   
        default:  
            break;  
        }  
    }  
  
      private void setTabSelection(int index) {  
        FragmentTransaction transaction = this.fragmentManager.beginTransaction();  //显示这行有错 
        hideFragments(transaction);  
        switch (index) {  
                case 0:  
                 login1Text.setTextColor(Color.WHITE);
                   if (login1Fragment == null) {  
                                              login1Fragment = new AFragment();  
                        transaction.add(R.id.content, login1Fragment);  
                    } else {  
                        transaction.show(login1Fragment);  
                    }  
                    break;  
                case 1:  
                   default:
                    login2Text.setTextColor(Color.WHITE);
                    if (login2Fragment == null) {  
                        login2Fragment = new BFragment();  
                        transaction.add(R.id.content, login2Fragment);  
                    } else {    
                        transaction.show(login2Fragment);  
                    }  
                    break;  
        }
       transaction.commit();  
   }  
    private void hideFragments(FragmentTransaction transaction) {  
        if (login1Fragment != null) {  
            transaction.hide(login1Fragment);  
        }  
        if (login2Fragment != null) {  
            transaction.hide(login2Fragment);  
       }  
    } 
}  
LogCat中显示:
04-16 09:05:05.148: E/AndroidRuntime(1642): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.app.FragmentTransaction android.app.FragmentManager.beginTransaction()' on a null object reference
04-16 09:05:05.148: E/AndroidRuntime(1642):  at lc.bishe.pingjiao.FragmentTabActivity.setTabSelection(FragmentTabActivity.java:91)
04-16 09:05:05.148: E/AndroidRuntime(1642):  at lc.bishe.pingjiao.FragmentTabActivity.onCreate(FragmentTabActivity.java:44)

------解决思路----------------------
fragmentManager 这个需要初始化  fragmentManager = getSupportFragmentManager();