2017-10-04 114 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-基于代码的答案)确实有助于提高您的帖子的质量。请记住,您将来会为读者回答问题,而这些人可能不知道您的代码建议的原因。 –