Question

I want to use Back button programmaticaly, when i pressed back button:

onback.setOnClickListener(new View.OnClickListener() {

        @Override   
        public void onClick(View v) {
            // TODO Auto-generated method stub

        }
    });

i want to display previous page same as i do by Clicking Back on device. Then i do:

onback.setOnClickListener(new View.OnClickListener() {

        @Override   
        public void onClick(View v) {
            // TODO Auto-generated method stub
            super.onBackPressed();

        }
    });

gives 'undefined type for Object' error. Then i tried:

onback.setOnClickListener(new View.OnClickListener() {

        public void onBackPressed(View v) {
            // Do something
            super.onBackPressed();
        }
    });

No functioning. I checked several question and answers, no answer for onClick and without 'finish()' the activity. Thank you for your suggestions.

Was it helpful?

Solution

Don't call super. Just do:

    onback.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // Do something
            onBackPressed();
        }
    });

OTHER TIPS

Override the super class and call the method

    onback.setOnClickListener(new View.OnClickListener() {

    @Override   
    public void onClick(View v) {
        // TODO Auto-generated method stub
                onBackPressed();

      }
    });


    @Override    
    public void onBackPressed()
        { 
        //custom backpressed code
        }

Try like this ..

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

If U need back functionality on press of button on your UI then try like this ..

back.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                finish();
            }
        });

Button back = (Button) findViewById(R.id.back);

Here calling finish(); in itself kills current activity and initiates previous activity... No need for over head .

I think you can achieve this by doing this simply

onback.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v)
            {
                 finish();

            } 


        });
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top