我的按钮"关闭"不要关闭但隐藏页面

时间:2017-04-17 13:44:21

标签: java android button return forceclose

Hello all,我的按钮(关闭)在closeListener中(在我的java代码中)。当我按下此按钮(关闭)时,我在第一页中正确返回但是它没有正确关闭我的租借页面(第二页),我的第二页仍然在我的第一页下面打开(隐藏在第一页后面),我怎样才能正确关闭第二页(租金)?

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);
        }
    };

}

3 个答案:

答案 0 :(得分:1)

您可以调用finish()方法完成您的活动:

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

答案 1 :(得分:0)

而不是这个

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

请写如下

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

答案 2 :(得分:0)

只需致电finish()即可关闭Rent活动。

试试这个:

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

        finish();

    }
};