Android - 顶部后退按钮不起作用

时间:2015-10-20 12:02:34

标签: android-activity back-button back-button-control

我在最左边的部分有这个按钮。由于某种原因,当我点击它时,它不会回到它的上一页。我已经检查了其他链接,但它无法正常工作。

the one on the top left button

该活动代码

public class CardListActivity extends Activity  {
    private static final String LOG_TAG = CardListActivity.class.getSimpleName();
    private EventBus eventBus;
    private Activity activity;
    private CardListRequest cardListRequest;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    init();

}

public void init() {
    Log.e(LOG_TAG, "XXXX Start : init XXXX");
    setUpActionBar();
    activity = this;
    setContentView(R.layout.activity_card_list);


    Log.e(LOG_TAG, "XXXX Finish : init XXXX");
}

private void setUpActionBar() {
    getActionBar().setTitle(CardListActivity.class.getSimpleName());
    getActionBar().setDisplayHomeAsUpEnabled(true);
}


}

的AndroidManifest.xml

...

    <activity
        android:name=".CardListActivity"
        android:label="@string/title_activity_card_list"
        android:parentActivityName=".HomeActivity2">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.pw.mccdealsapp.HomeActivity2" />
    </activity>

...

2 个答案:

答案 0 :(得分:1)

This page包含创建可正常工作的“向上”按钮的所有信息。

您需要在活动中添加以下内容:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            NavUtils.navigateUpFromSameTask(this);
            return true;
     }
     return super.onOptionsItemSelected(item);
}

答案 1 :(得分:1)

首先在你的onCreate方法上放这个

//action bar back icon
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

然后覆盖此方法并将后退操作转到其父级

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