2017-10-04 67 views
0

我正在嘗試創建返回按鈕以返回到上一個屏幕。我有一個從當前屏幕(屏幕2)移動到下一個屏幕(屏幕4)的下一個按鈕,但是我想要一個後退按鈕來完成相反的過程。即返回屏幕2.我已經調用了按鈕並將該ID命名爲id 。我想知道,任何人都可以告訴我爲什麼下面的代碼不能正常工作。該代碼如下:返回按鈕轉到上一頁

Button backbutton; 

     backbutton = (Button) findViewById(R.id.back_button);  
     backbutton.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       setContentView(R.layout.screen2); 

      } 
     }); 

`

+1

您的問題不清楚解釋更多關於 –

+0

請問您可以添加您正在嘗試解決的問題嗎? – IIIIIIIIIIIIIIIIIIIIII

+0

那麼,它應該做什麼?不錯。好工作。不明白需要爲它創建一個問題,雖然 – Stultuske

回答

0

剛剛完成活動

backbutton = (Button) findViewById(R.id.back_button);  
backbutton.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     finish(); 

    } 
}); 
0

你可以簡單的調用onBackPressed()系統方法在您的onClickListener界面中。

是這樣的:

backbutton.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     onBackPressed(); 
    } 
}); 
3

如果你正試圖使這個按鈕作用等同於Android設備本身的定期備份按鈕,您可以使用onBackPressed()方法的

所以,你的代碼將是這樣的:

backbutton = (Button) findViewById(R.id.back_button);  
backbutton.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     onBackPressed(); //OPTION 1: If in an activity 
     getActivity().onBackPressed(); //OPTION 2: If in a fragment 
    } 
}); 

選擇取決於你在哪裏,在活動VS在片段上取的代碼行滿足您的需求。

0

當您點擊按鈕時調用此方法onBackPressed();

backbutton = (Button) findViewById(R.id.back_button);  
    backbutton.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     onBackPressed(); 

     } 
    });` 
+0

這是錯誤的他想做背按鍵功能不能打開一個新的活動 –

+0

你想系統後退按鈕停止或去前 –

+0

雖然這段代碼可能是該解決方案[包括解釋](// meta.stackexchange.com/questions/114762/explaining-entirely-基於代碼的答案)確實有助於提高您的帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。 –