2017-04-18 3 views
0

を拡張してonBackPressed:私はAppCompatActivityまで伸びアンドロイドスタジオで活動していフラグメント

public class Act_1 extends AppCompatActivity {

をそしてonBackPressedイベントが素晴らしい作品。

@Override 
 
public void onBackPressed() { 
 
     
 
}

私は断片にまで及ぶ活動に使用したいこの同じイベント:

public class Act_2 extends Fragment{

しかし、私はコードを書くとき、そこにあります@オーバーライドに関するエラーメッセージ:

"メソッドはそのスーパークラスのメソッドをオーバーライドしません"

この問題の解決策はありますか? ACT_2がActivityない

おかげ

答えて

2

は、FragmentあるとonBackPressed()方法がActivity's方法ですので、あなたはFragmentでそれをオーバーライドすることはできません。この問題を解決するには、Act_2をAppCompatActivityまたはActivityに拡張するように変更してください。

0

onBackPressedは、アクティビティフラグメントではありません。あなたができることは、アクティビティのメソッドをオーバーライドすることです。このよう

::

android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager()。 int count = fragmentManager.getBackStackEntryCount();

if (count > 0) { 
     getSupportFragmentManager().popBackStack(); 
    }else { 
     if (this instanceof HomeActivity) { 
      //additional code 
     } else { 
      finish(); 
     } 
    } 
関連する問題