在将文本框数据转换为字符串时,片段崩溃

时间:2014-05-26 09:26:14

标签: java tostring

所以,当我填写我的文本框并点击添加我的应用程序崩溃,当它在调试模式时它突出显示

    String passwd = passowd.getText().toString() ;

但这是oncreateview方法

   @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    View rootview = inflater.inflate(R.layout.loging_fragment , container , false );

    return rootview;
     name = (EditText) getActivity().findViewById(R.id.txtuser);
     passowd = (EditText) getActivity().findViewById(R.id.txtpaswd);
    session = new SessionManager(getActivity());
    btnlogin = (Button) getActivity().findViewById(R.id.btnlogin);
    btnlogin.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
              HashMap<String, String>user = session.getUserDetails();                   
                String uname = user.get(session.KEY_NAME);
                String psswd = user.get(session.KEY_PASSWORD);
                String usernam = name.getText().toString();
                String passwd = passowd.getText().toString() ;
                    if ( usernam == uname | passwd == psswd) 
                    {                   
                        Intent i = new Intent(getActivity(), MainActivity.class);
                            startActivity(i);       
                        }
                            else {

                        Toast.makeText(getActivity(), "Enter username and password ", Toast.LENGTH_SHORT).show();                           

                                }
        }
    });
}

现在我不知道那里出了什么问题加上我在Android中真正的新......

1 个答案:

答案 0 :(得分:0)

您正在第二个语句从onCreateView返回,因此不会执行返回语句的代码。您应该从viewRoot而不是getActivity检索我们的观点,您应该这样做:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View rootview = inflater.inflate(R.layout.loging_fragment , container , false );

     name = (EditText) rootview.findViewById(R.id.txtuser);
     passowd = (EditText) rootview.findViewById(R.id.txtpaswd);
    session = new SessionManager(getActivity());
    btnlogin = (Button) rootview.findViewById(R.id.btnlogin);
    btnlogin.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
              HashMap<String, String>user = session.getUserDetails();                   
                String uname = user.get(session.KEY_NAME);
                String psswd = user.get(session.KEY_PASSWORD);
                String usernam = name.getText().toString();
                String passwd = passowd.getText().toString() ;
                    if ( usernam == uname | passwd == psswd) 
                    {                   
                        Intent i = new Intent(getActivity(), MainActivity.class);
                            startActivity(i);       
                        }
                            else {

                        Toast.makeText(getActivity(), "Enter username and password ", Toast.LENGTH_SHORT).show();                           

                                }
        }
    });

    return rootview;
}