2015-10-05 91 views
0

我想實現簡單back buttonactivity去以前activity,但是當我調用方法finish()一些怪異的行爲正在發生 - 問題是,我必須按back按鈕兩次?這是爲什麼發生?在後面的方法我只有finish()。如果沒有instantiate全新的Intent,以前保存的activity有什麼不同?必須按後退按鈕兩次

public void back1 (View view){ 
    this.finish(); 
    } 

這是第二個同樣的結果嘗試:

ImageButton buttonback = (ImageButton) findViewById(R.id.imageButton6); 

    buttonback.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      onBackPressed(); 
     } 
    }); 
+0

在'onBackPressed()'方法內調用'super.onBackPressed()'。 – Rustam

+0

如何知道button可以調用onBackPressed而不是我的back()函數? – Nikanor

+2

顯示您的代碼請 –

回答

0

你最有可能開始的活動兩次。

按下後,您正在完成一個,而另一個正在前進。檢查onCreate和onResume是否有任何可能使用意圖或開始任何活動的內容

0
@Override 
    public void onBackPressed() { 
     super.onBackPressed(); 
    } 

添加到您的代碼超級調用關閉活動不需要調用完成()

0

如果您只需要設備後退按鈕即可運行,您不需要覆蓋Activity中的onBackPressed方法

如果你想放置在視圖中的自定義按鈕和行動重新設置到該按鈕,然後你需要編寫按鈕clicklistener相同的

backbutton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      finish(); 
     } 
}); 
+0

同樣的,我需要用這個代碼按回兩次按鈕.. – Nikanor

+0

提供整個活動代碼..我假設你做錯了什麼。 –