我想要一个button点击closures一个活动。 我对意图是新的,而且有点困惑。 这是一个跟踪生命周期的ActivityOne
。
在一个button上按下,它打开ActivityTwo
并把ActivityOne
放在后台。
这工作正常,当我在onClickListener
使用这个意图:
Intent myIntent = new Intent(ActivityOne.this, ActivityTwo.class); ActivityOne.this.startActivity(myIntent);
在ActivityTwo
我需要使用intents和finish()
方法来closures活动。 我试图谷歌它,我认为这可能工作:
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); } }); // ... } }
你想closuresActivityTwo
当一个button被点击? 只需使用finish();
ActivityTwo
button监听器的完整代码是:
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克里希南你想杀活动二?
尝试这个
ActivityTwo.this.finish();
这会帮助你
完成当前Activity的最好方法是使用finish()
方法。 因此,在ActivityTwo
中的button的onClick()
,您可以执行此操作。
closeButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { finish(); //closes ActivityTwo } });
没有必要为完成当前活动做出新的意图 。 另外请注意, 按下后也将完成您的活动。
replace这两条线
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(); } });