2017-05-24 7 views
0

VSインターフェイスのインターフェイスがあり、次のように:アンドロイド:デフォルトの各フラグメントでgetメソッド

このように呼ばれて
public interface OnFragmentInteractionListener 
{ 
    void onFragmentInteraction(String string); 
} 

@Override 
public void onAttach(Context context) 
{ 
    super.onAttach(context); 
    if (context instanceof OnFragmentInteractionListener) 
    { 
     mListener = (OnFragmentInteractionListener) context; 
     mListener.onFragmentInteraction("Interfaccia fragment"); 
    } else 
    { 
     throw new RuntimeException(context.toString() 
       + " must implement OnFragmentInteractionListener"); 
    } 
} 

にデータを送信するのに便利ですインターフェイスのメソッドの実装での活動:

@Override 
public void onFragmentInteraction(String string) 
{ 
    Toast.makeText(getApplicationContext(), string,Toast.LENGTH_LONG).show(); 
} 

また私はfrのgetメソッドで同じことをすることができますagmentこのように活動によって呼び出され

public String get() 
{ 
    return "Interfaccia fragment"; 
} 

BlankFragment blankFragment = BlankFragment.newInstance("",""); 
Toast.makeText(getApplicationContext(),blankFragment.get(),Toast.LENGTH_LONG).show(); 

ので、いくつかの値(あまりにも一つの値のみ)がある場合、私はどのように行うことができますか?最初または2番目の方法では?私は2番目が速いと思いますが、最初はより完全です。

答えて

2

アクティビティ内のフラグメントを破棄して再作成する可能性があるため、そのフラグメントを参照しないようにします。だから、getメソッドではなく、インタフェースを使ってください。

関連する問題