[英]android - How to close an activity on button click?
我想要一個按鈕點擊關閉一個活動。 我是新手,有點困惑。 這是ActivityOne
,它記錄生命周期。
按下按鈕,它會打開ActivityTwo
並將ActivityOne
置於后台。
當我在onClickListener
使用此intent時,這很好用:
Intent myIntent = new Intent(ActivityOne.this, ActivityTwo.class);
ActivityOne.this.startActivity(myIntent);
在ActivityTwo
我需要使用intents和finish()
方法來關閉活動。 我試圖谷歌它,我認為這可能有效:
Intent myIntent2 = new Intent(getApplicationContext(), ActivityTwo.class);
ActivityTwo.this.finish(myIntent2);
它沒有工作完整的代碼如下:
public class ActivityOne extends Activity {
// ...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_one);
// ...
Button launchActivityTwoButton = (Button) findViewById(R.id.bLaunchActivityTwo);
launchActivityTwoButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO:
// Launch Activity Two
// Hint: use Context's startActivity() method
// Create an intent stating which Activity you would like to start
Intent myIntent = new Intent(ActivityOne.this, ActivityTwo.class);
// Launch the Activity using the intent
ActivityOne.this.startActivity(myIntent);
}
});
// ...
}
}
活動2:
public class ActivityTwo extends Activity {
// ...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
// ...
Button closeButton = (Button) findViewById(R.id.bClose);
closeButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO:
// This function closes Activity Two
// Hint: use Context's finish() method
Intent myIntent2 = new Intent(getApplicationContext(), ActivityTwo.class);
ActivityTwo.this.finish(myIntent2);
}
});
// ...
}
}
您想在單擊按鈕時關閉ActivityTwo
? 只需使用finish();
ActivityTwo
按鈕偵聽器的完整代碼是:
Button closeButton = (Button) findViewById(R.id.bClose);
closeButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO:
// This function closes Activity Two
// Hint: use Context's finish() method
finish();
}
});
@Arjun Krishnan你想殺死活動兩個?
試試這個
ActivityTwo.this.finish();
它會對你有所幫助
好吧,完成當前Activity的最佳方法是使用finish()
方法。 因此,在ActivityTwo
按鈕的onClick()
,您可以執行此操作。
closeButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
//closes ActivityTwo
}
});
無需為完成當前活動制定新的意圖 。 另請注意, 按后退也將完成您的活動。
替換這兩行
Intent myIntent2=new Intent(getApplicationContext(),ActivityTwo.class); ActivityTwo.this.finish(myIntent2);
有了這個ActivityTwo.this.finish();
Button exit= (Button) findViewById(R.id.yes);
exit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MainActivity.this.finish();
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.