0

アクティビティとフラグメントの違いを理解するためにいくつか問題があります。アクティビティ - フラグメントonBackPressed()

「PublicarActivity」というアクティビティと「PublicarFragment」というフラグメントを実行しました。

これらはまったく同じコード(フラグメントとアクティビティとして機能するいくつかの違いがあります)があり、問題ではありません。

私の問題は、「onBackPressed」を使って作業する方法がわからないことです。フラグメントを呼び出す前にそれをスタックに追加する必要があることは分かっていますが、今はもう少し複雑なことをしたいと思います。

これが私の活動のonBackPressedためのコードです:

@Override 
public void onBackPressed() { 
    if(layout_activado){ 
     verificable.toggle(); 
     verificar_layout.setVisibility(View.INVISIBLE); 
     layout_activado = false; 
     pulsado = false;  } 
    else{ 
     Intent intent_cancelar = new Intent(PublicarActivity.this, Principal_Activity.class); 
     startActivity(intent_cancelar); 
    } 
} 

私はこれが私のフラグメントから正確に行うことができますどのように?

+3

あなたがこれを確認しましたか? http://stackoverflow.com/questions/5448653/how-to-implement-onbackpressed-in-fragments –

+0

フラグメントの変数を自分のアクティビティとどのように共有できますか?私が理解していることは、自分のアクティビティでonBackPressed()をコーディングして、自分のフラグメントから使用する必要があるということです。私は正しい? –

+0

FragmentクラスにはonBackPressedメソッドはありません。アクティビティにはフラグメントが含まれており、戻るボタンの押下に応答します。あなたがどの変数を参照しているのかわかりません。 –

答えて

0

答えを得るために解決すべき2つの問題があります。

まず、ActivityFragmentの間に混乱があります。 Androidの「アクティビティは1つの画面を表します」という文が表示されている可能性があります。したがって、アプリケーション内にActivityがあると、ユーザーはボタンやリストなどのさまざまなビューと対話できます。次に、ステートライフサイクルを含むActivityにそのようなビューを追加する場合を考えてみましょう他のすべてのコンポーネントが同じ位置に残っている間、あなたは主なアクティビティでミニアクティビティを持つことができるように、同じビューの詳細ビューにつながるはずです。したがって、あなたのFragmentミニアクティビティのような機能を提供するには、フラグメントライフタイムの間に呼び出されるいくつかのライフサイクルメソッドがあります。したがって、メインアクティビティや他の用途でサブアクティビティがほしいと感じるときはいつでもFragmentを使用できます。 Activityの全体をFragmentでカバーすることができます。アプリ内にNavigation-Drawerが必要なときは、ほとんどの場合そうします。

FragmentActivityについてはっきりしているので、あなたは、thisという名前の人物cricketから提供されたリンクを参照することができます。

関連する問題