Alex
Alex

Reputation: 25

My button "close" don't close but hide the page

Hello all, My button (close) in the closeListener (in my java code). When I push this button (close) I go back correctly in my first page but it don't close correctly my Rent page (second page), my second page remain open below my first page (hide behind the first page), how can I do for close correctly the second page (Rent) ?

package albencreation.realestateapplication;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class Rent extends AppCompatActivity {

    EditText price = null;
    EditText profit = null;
    TextView result = null;
    Button envoyer = null;
    Button close = null;
    Button info = null;
    Button clear = null;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.rent);

        price = (EditText) findViewById(R.id.price);
        profit = (EditText) findViewById(R.id.profit);
        result = (TextView) findViewById(R.id.result);
        envoyer = (Button) findViewById(R.id.buttcalculate);
        close = (Button) findViewById(R.id.buttclose);
        info = (Button) findViewById(R.id.buttinfo);
        clear = (Button) findViewById(R.id.buttclear);

        envoyer.setOnClickListener(envoyerListener);
        close.setOnClickListener(closeListener);
        info.setOnClickListener(infoListener);
        clear.setOnClickListener(clearListener);
    }

    private OnClickListener envoyerListener = new OnClickListener() {
        @Override
        public void onClick(View v) {
            String p = price.getText().toString();
            String o = profit.getText().toString();

            float pValue;
            if (p.isEmpty()) {
                pValue = 0;
            } else {
                pValue = Float.valueOf(p);
            }
            float oValue;
            if (o.isEmpty()) {
                oValue = 0;
            } else {
                oValue = Float.valueOf(o);
            }

            float resultat = oValue * pValue / 100;
            result.setText("the rent is " + String.valueOf(resultat) + " currency");
        }
    };

    private OnClickListener closeListener = new OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent jumpage = new Intent(Rent.this, MainActivity.class);
            startActivity(jumpage);
        }
    };

    private OnClickListener infoListener = new OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent jumpage = new Intent(Rent.this, Inforent.class);
            startActivity(jumpage);
        }
    };

    private OnClickListener clearListener = new OnClickListener() {
        @Override
        public void onClick(View v) {
            price.getText().clear();
            profit.getText().clear();
            String defaut = "result rent";
            result.setText(defaut);
        }
    };

}

Upvotes: 1

Views: 62

Answers (3)

Ferdous Ahamed
Ferdous Ahamed

Reputation: 21736

Just call finish() to close Rent activity.

Try this:

private OnClickListener closeListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent jumpage = new Intent(Rent.this, MainActivity.class);
        startActivity(jumpage);

        finish();

    }
};

Upvotes: 0

Chintan Joshi
Chintan Joshi

Reputation: 1307

Instead of this

 private OnClickListener closeListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent jumpage = new Intent(Rent.this, MainActivity.class);
        startActivity(jumpage);
    }
};

Just write as below

 private OnClickListener closeListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
       this.finish();
    }
};

Upvotes: 0

Luiz Fernando Salvaterra
Luiz Fernando Salvaterra

Reputation: 4182

You can call the finish() method to finish your activity for good:

private OnClickListener closeListener = new OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent jumpage = new Intent(Rent.this, MainActivity.class);
            startActivity(jumpage);
            Rent.this.finish();
        }
    };

Upvotes: 1

Related Questions