在实现接口时片段中的Onbackpressed不工作

SjN*_*erd 3 android android-fragments

我试图覆盖片段内的onbackpressed方法.但它给了我语法错误,它应该覆盖接口中的超级方法.为什么这样?我的片段类中还有其他方法,如ondestroy,但没有错误.为什么单独背压.我也试过onkeydown.同样的错误.粘贴在我的代码下面.

  public TestClass extends Fragment implements    Testinterface
{  @Override //error must override or implement    supertype method
 public void onBackPressed ()
{
 if (check)
Do somethin
 else
  getActivity().finish ()
  //super.onBackPressed () // error here if I use this
  }
Run Code Online (Sandbox Code Playgroud)

Sky*_*net 12

你必须在密钥中实现片段,检查密钥代码.onBackPress()方法可以在Activity中使用 - 它是片段的逻辑父级.

试试这个:

frag.getView().setFocusableInTouchMode(true);
frag.getView().setOnKeyListener( new OnKeyListener(){
    @Override
    public boolean onKey( View v, int keyCode, KeyEvent event ){
        if( keyCode == KeyEvent.KEYCODE_BACK ){
            return true;
        }
        return false;
    }
} );
Run Code Online (Sandbox Code Playgroud)

  • 什么是碎片? (5认同)