我试图重写fragment 内的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
}
您必须在片段中实现按键按下,检查按键代码。 onBackPressed() 方法可以在 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;
}
} );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)