My OnClickListener is not firing
Can someone please help me?
I have been searching for hours and I cannot find a solution. Why won't my onclicklistener not work? It works for the first time but will not work for the doLogin method. Why?
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final FileUtils file = new FileUtils();
final String patientDetails = FileUtils.readFile("/TextFiles/patientDetails.txt");
if(patientDetails.equalsIgnoreCase("register")){
setContentView(R.layout.main);
//Toast t = Toast.makeText(getBaseContext(), patientDetails, Toast.LENGTH_SHORT);
//t.show();
ImageButton submit = (ImageButton) findViewById(R.id.btn_submit);
submit.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
String patientId1 = ((EditText) findViewById(R.id.patientId1)).getText().toString().trim();
String patientId2 = ((EditText) findViewById(R.id.patientId2)).getText().toString().trim();
String patientPassword1 = ((EditText) findViewById(R.id.patientPassword1)).getText().toString().trim();
String patientPassword2 = ((EditText) findViewById(R.id.patientPassword2)).getText().toString().trim();
if((patientId1.equals(patientId2))||(pati开发者_StackOverflow中文版entPassword1.equals(patientPassword2))){
//save to file
String result = file.writeFile1(patientId1+","+patientPassword1+",01:02:03:04:05");
if(result.equalsIgnoreCase("fail")){
Toast t = Toast.makeText(view.getContext(), "Patient details not saved, please try again.", Toast.LENGTH_SHORT);
t.show();
}else{
Toast t = Toast.makeText(view.getContext(), "Please login to use the application.", Toast.LENGTH_SHORT);
t.show();
}
doLogin();
//Intent myIntent = new Intent(view.getContext(), Activity2.class);
//startActivityForResult(myIntent, 0);
}else{
Toast t = Toast.makeText(view.getContext(), "Please reenter your login details.", Toast.LENGTH_SHORT);
t.show();
}
}
});
}else{
setContentView(R.layout.main2);
}
}
String _patientDetails = "";
private void doLogin(){
final FileUtils file = new FileUtils();
_patientDetails = FileUtils.readFile("/TextFiles/patientDetails.txt");
if(_patientDetails.equalsIgnoreCase("register")){
setContentView(R.layout.main);
}else{
ImageButton submit2 = (ImageButton) findViewById(R.id.btn_submit2);
Button pid3 = (Button)findViewById(R.id.pid3);
setContentView(R.layout.main2);
Button btn = (Button)findViewById(R.id.pid3);
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Toast t = Toast.makeText(v.getContext(), "Please reenter your login details.", Toast.LENGTH_SHORT);
t.show();
}
});
}
}
}
Have you actually run it through a debugger? I'm pretty sure it runs but you're not seeing a Toast notification because of the context. Try passing in either the Activity or the Application context.
Basically, I'm pretty sure you're not supposed to use getBaseContext(). View has getContext() instead but in this case you can just use the Activity.
精彩评论