Android Studio:前一个Activity的后退按钮

时间:2017-02-02 11:26:58

标签: android android-fragments android-intent android-activity activity-lifecycle

我使用Activity创建了Navigation Drawer,并使用ImageButton替换了选项图标(位于右上角)以处理后退点击。

问题是,我不知道该怎么做。我对如何使用后退按钮感到有点困惑。我应该使用什么代码转到之前的Activity

后退按钮: 活动到另一个活动和MainActivity到碎片活动。

这是我的清单代码:

   <activity
        android:name="com.teamamazing.with_sidebar.activity.Accomodation"
        android:label="Accomodation"
        android:parentActivityName="com.teamamazing.with_sidebar.activity.SpecialPage">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.teamamazing.with_sidebar.activity.SpecialPage" />
    </activity>

这是我的住宿活动:

package com.teamamazing.with_sidebar.activity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import com.teamamazing.with_sidebar.R;


public class Accomodation extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_accomodation);
  } }

这是我的 SpecialPage代码:,它将是父活动。

package com.teamamazing.with_sidebar.activity;


import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;
import com.teamamazing.with_sidebar.R;


public class SpecialPage extends AppCompatActivity {

public ImageButton accomodation;


public void init() {
    accomodation = (ImageButton) findViewById(R.id.AccomodationButton);
    accomodation.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {

            Intent accomodation = new Intent(SpecialPage.this, Accomodation.class);

            startActivity(accomodation);


        }
    });
}


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_special_page);

    init();
}}

谢谢你的回答。

4 个答案:

答案 0 :(得分:2)

您可以使用 onBackPressed()完成()方法。

  buttonClickOBJ.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {

       onBackPressed();

    }
});

<强> onBackPressed ()

  

当活动检测到用户按下背面时调用   键。默认实现只完成当前活动,   但你可以覆盖它来做任何你想做的事。

答案 1 :(得分:0)

您还可以使用以下方法。

@Override
public boolean onOptionsItemSelected(MenuItem item){

    switch(item.getItemId()){
        case android.R.id.home:
            finish();
            return true;
    }
    return super.onOptionsItemSelected(item);
}

答案 2 :(得分:0)

简便方法

public void onBackPressed() {

    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
    builder.setTitle(R.string.app_name);
    builder.setIcon(R.mipmap.ic_launcher);
    builder.setMessage("If You Enjoy The App Please Rate us?")
            .setCancelable(false)
            .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    Intent play =
                            new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=kd.travellingtips"));
                    startActivity(play);
                }
            })
            .setNegativeButton("No", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    finish();
                }
            });
    AlertDialog alert = builder.create();
    alert.show();

}

答案 3 :(得分:-2)

首先,将监听器添加到要与其关联的按钮。然后在方法中启动背压选项。