所以,当我填写我的文本框并点击添加我的应用程序崩溃,当它在调试模式时它突出显示
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中真正的新......
答案 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;
}