我正在尝试覆盖 fragment 中的 onbackpressed 方法。但它给了我语法错误,它应该覆盖接口(interface)中的 super 方法。为什么这样?我的 fragment 类中还有其他方法,如 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
}
最佳答案
您必须在 fragment 中实现按键按下,检查按键代码。 onBackPress() 方法可以在 Activity 中使用——它是 fragment 的逻辑父级。
试试这个:
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;
}
} );
关于android - fragment 中的 Onbackpressed 在实现接口(interface)时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24075068/