Android新Intent带后退按钮

时间:2017-06-06 10:56:49

标签: android android-actionbar back-button

在我的Android App中,我使用一个带有一个按钮的空活动。如果我按下按钮,我会调用一个有意图的新活动。但是在新活动中,缺少跳回到最后一页的后退按钮(左上角)。是不是已经有来自android studio或者spezial intent调用的活动模板来执行此操作?或者最好的方法是什么?

这是按下按钮

时调用的功能
void scanClicked(View v){
    Intent intent = new Intent(this, ServiceActivity.class);
    startActivity(intent);
}

ServiceActivity只是一个空活动

    <activity
        android:name=".LoginActivity"
        android:label="@string/title_activity_login"
        android:theme="@style/SplashTheme"
        android:windowSoftInputMode="adjustPan">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".NavigationActivity"
        android:label="@string/title_activity_navigation"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity android:name=".ServiceActivity"
        android:label="@string/annualServiceTitle">
    </activity>

6 个答案:

答案 0 :(得分:3)

有两个选项可以做到这一点。

您可以在XML中使用android ToolBar Adding toolbar

或者您可以添加一个布局,其中ImageButton与布局的左侧对齐。然后你就可以做到这一点。

ImageButton backBtn;

backBtn = (ImageButton) findViewById(R.id.backBtn);
backBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            onBackPressed();
        }
    });

希望这有帮助。

答案 1 :(得分:2)

在第二个活动中..制作你的活动扩展AppCompactActivity

并在onCreate中添加

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);

并将活动中的onOptionsItemSelected覆盖为

 @Override
public boolean onOptionsItemSelected(MenuItem item) {

    if(item.getItemId() == android.R.id.home)
    {
        finish();
    }
    return super.onOptionsItemSelected(item);
}

答案 2 :(得分:2)

这是基于您在styles.xml文件中定义的应用主题。

如果您使用DarkActionBar主题,则只需需要在您的清单文件中添加android:parentActivityName="fronius.com.serviceapp_frontend.NavigationActivity"


但是如果您使用NoActionBar主题在您的活动中使用工具栏(如材料设计中所述),您必须将此行代码添加到活动中的可见向上导航按钮中指定parentActivityName
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

您也可以通过以下代码行更改向上导航按钮图标:
getSupportActionBar().setHomeAsUpIndicator(R.mipmap.ic_back); < / p>

答案 3 :(得分:1)

您需要在setDisplayHomeAsUpEnabled中使用ServiceActivity.java,如下所示:

public class ServiceActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // etc...
        getActionBar().setDisplayHomeAsUpEnabled(true);
    }
...
}

答案 4 :(得分:1)

试试这个

在您希望通过

转移到 ServiceActivity 呼叫意图的活动上
Intent intent = new Intent(this, ServiceActivity.class);
startActivity(intent);

ServiceActivity 上处理click事件并调用

view.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        supportFinishAfterTransition();
        // or call
        finish();
    }
});

答案 5 :(得分:1)

我用两行代码解决了这个问题:

在第二个视图的OnCreate中:

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

并在Manifest中添加属性&#34; parentActivityName&#34;到第二个视图:

android:parentActivityName="fronius.com.serviceapp_frontend.NavigationActivity"