开发者

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜