我的按钮“关闭”不关闭,但隐藏页面

问题描述:

大家好,我在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); 
     } 
    }; 

} 

可以调用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(); 
     } 
    }; 
+0

它的工作原理:-)感谢很多 – Alex

+0

欢迎你的兄弟:) –

+0

我张贴了这个问题,标题:如何把一个十进制数(###,## #,###。00)中的一个字符串值。 – Alex

取而代之的是

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(); 
    } 
}; 
+0

,这不是一个有效的上下文,因为它是一个匿名的内部类。 –

+0

不,“this”指向当前活动,即租 –

+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(); 

    } 
};