Android 启动后出现空指针异常

Android 启动后出现空指针异常,android,android-intent,nullpointerexception,Android,Android Intent,Nullpointerexception,我的转换有问题。希望有人能帮助我 首先,启动屏幕活动的代码 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); /****** Create Thread that will sleep for 5 seconds *************/

我的转换有问题。希望有人能帮助我

首先,启动屏幕活动的代码

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash);

    /****** Create Thread that will sleep for 5 seconds *************/        
    Thread background = new Thread() 
    {
        public void run() 
        {
            try 
            {
                // Thread will sleep for 5 seconds
                sleep(5*1000);

                // After 5 seconds redirect to another intent
                if(SharedPreferences.getUserName(getApplication()) != null && SharedPreferences.getUserName(getApplication()).length() == 0)
                {
                    Intent i = new Intent(getBaseContext(), LoginActivity.class);
                    startActivity(i);
                }

                else
                {
                    Intent i = new Intent(getBaseContext(), MainActivity.class);
                    startActivity(i);
                }

                //Remove activity
                finish();

            } 

            catch (Exception e) 
            {
                e.printStackTrace();
            }
        }
    };

    // start thread
    background.start();

}
接下来是登录活动的代码:

公共类LoginActivity扩展了FragmentActivity {

然后,登录活动开始时开始的片段:

public static class CardSectionFragment extends Fragment 
{
    /**
     * The fragment argument representing the section number for this
     * fragment.
     */
    public static final String ARG_SECTION_NUMBER = "section_number";

    Button registerBtn, toggleBtn;
    EditText useridET;
    EditText passwordET;
    EditText dobET;
    Spinner daySpin, mthSpin, yrSpin;
    LinearLayout dobLayout;

    public CardSectionFragment() 
    {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
    {
        recLifeCycle_with_savedInstanceState(savedInstanceState);
        View rootView = inflater.inflate(R.layout.fragment_register,
                container, false);
        registerBtn = (Button) rootView.findViewById(R.id.registerBtn);
        toggleBtn = (Button) rootView.findViewById(R.id.toggleBtn);
        useridET = (EditText) rootView.findViewById(R.id.useridET);
        passwordET = (EditText) rootView.findViewById(R.id.passwordET);

        dobLayout = (LinearLayout) rootView.findViewById(R.id.dobLayout);

        daySpin = (Spinner) rootView.findViewById(R.id.daySpin);
        mthSpin = (Spinner) rootView.findViewById(R.id.mthSpin);
        yrSpin = (Spinner) rootView.findViewById(R.id.yrSpin);

        ArrayAdapter<String> dayAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, R.array.date_spin);
        dayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        ArrayAdapter<String> mthAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, R.array.mnth_spin);
        mthAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        ArrayAdapter<String> yrAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, R.array.year_spin);
        yrAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        daySpin.setAdapter(dayAdapter);
        mthSpin.setAdapter(mthAdapter);
        yrSpin.setAdapter(yrAdapter);

        registerBtn.setOnClickListener(new OnClickListener() 
        {

            @Override
            public void onClick(View v) 
            {
                ((MainActivity) getActivity()).hideSoftKeyboard();
                // TODO Auto-generated method stub
                // ((MainActivity) getActivity()).registerSuccess("");
                if (registerBtn.getText().toString().equals("Sign Up")) 
                {
                    String dob = daySpin.getSelectedItem().toString() + "-" + mthSpin.getSelectedItem().toString() + "-" + yrSpin.getSelectedItem().toString().substring(Math.max(yrSpin.getSelectedItem().toString().length() - 2, 0));
                    new RegisterUserAsyncTask((LoginActivity) getActivity()).execute(useridET.getText().toString(), passwordET.getText().toString(), dob);
                } 

                else 
                {
                    if (registerBtn.getText().toString().equals("Login")) 
                    {
                        user_id = useridET.getText().toString();
                         new LoginUserAsyncTask((LoginActivity) getActivity()).execute(useridET.getText().toString(),passwordET.getText().toString());

                    }
                }
            }

        });

        toggleBtn.setOnClickListener(new OnClickListener() 
        {

            @Override
            public void onClick(View v) 
            {
                // TODO Auto-generated method stub
                if (registerBtn.getText().toString().equals("Sign Up"))
                {
                    dobLayout.setVisibility(View.GONE);
                    registerBtn.setText("Login");
                    toggleBtn.setText("Do not have an account? Register here.");
                }

                else 
                {
                    dobLayout.setVisibility(View.VISIBLE);
                    registerBtn.setText("Sign Up");
                    toggleBtn.setText("To begin, login with your account");
                }
            }

        });

        return rootView;
    }

    public void recLifeCycle() {

        String className = getClass().getSimpleName();
        StackTraceElement[] s = Thread.currentThread().getStackTrace();
        String methodName = s[3].getMethodName();

        String msg = className + "." + methodName;

        // Toast.makeText(getActivity(),
        // msg, Toast.LENGTH_SHORT).show();
        Log.i("MYTAG", msg);
    }

    public void recLifeCycle(String note) {

        String className = getClass().getSimpleName();
        StackTraceElement[] s = Thread.currentThread().getStackTrace();
        String methodName = s[3].getMethodName();

        String msg = className + "." + methodName;

        // Toast.makeText(getActivity(),
        // msg, Toast.LENGTH_SHORT).show();
        Log.i("MYTAG", msg + " / " + note);
    }

    public void recLifeCycle_with_savedInstanceState(Bundle state) {

        String stateMsg;
        if (state == null) {
            stateMsg = "savedInstanceState == null";
        } else {
            stateMsg = "savedInstanceState != null";
        }

        String className = getClass().getSimpleName();
        StackTraceElement[] s = Thread.currentThread().getStackTrace();
        String methodName = s[3].getMethodName();

        String msg = className + "." + methodName + " / " + stateMsg;

        // Toast.makeText(getActivity(),
        // msg, Toast.LENGTH_SHORT).show();
        Log.i("MYTAG", msg);
    }

    @Override
    public void onResume() {
        // TODO Auto-generated method stub
        recLifeCycle();
        super.onResume();

    }

    @Override
    public void onDestroy() {
        // TODO Auto-generated method stub
        recLifeCycle();
        super.onDestroy();
    }

    @Override
    public void onDestroyView() {
        // TODO Auto-generated method stub
        recLifeCycle();
        super.onDestroyView();

    }

    @Override
    public void onDetach() {
        // TODO Auto-generated method stub
        recLifeCycle();
        super.onDetach();
    }

    @Override
    public void onPause() {
        // TODO Auto-generated method stub
        recLifeCycle();
        super.onPause();
    }

    @Override
    public void onStart() {
        // TODO Auto-generated method stub
        recLifeCycle();
        super.onStart();
    }

    @Override
    public void onStop() {
        // TODO Auto-generated method stub
        recLifeCycle();
        super.onStop();
    }
}

如果确定视图id,请尝试替换此行:

TextView abTitle = (TextView) findViewById(titleId);
与:


如果您想更改android标准
ActionBar
的标题,请使用:

getActionBar().setTitle("your title");
找到了答案: 我不应该使用title\u activity\u login,而应该使用action\u bar\u title。
我假设它是@string资源id。因此,找不到它。对于由此带来的不便,我深表歉意。

您可以发布activity_main.xml吗?这只是一个假设,但可能是您的TextView在activity_主布局中没有被给定的id找到。为了澄清这一点,请按照blackbelt的要求发布activity_main.xml。Will快点,我现在没有密码。
TextView abTitle = (TextView) getWindow().getDecorView().getRootView().findViewById(titleId);
getActionBar().setTitle("your title");