私は断片について学んでいます。私は、ボタンのクリックに基づいてデータを自分のアクティビティに戻すためにフラグメントからインターフェイスを作成するという答えに続き、完全に動作します。Java - アクティビティからデータをフラグメントに渡す
すべての作成後、自分のアクティビティと同じように、自分のアクティビティの特定の変更をリスニングする方法は分かりません。
基本的に私のアクティビティにはボタンがあり、フラグメントには別のボタンがあります。私のアクティビティでボタンをクリックすると、フラグメントが私のフラグメントボタンのテキストを変更することを知るように、いくつかのデータを送信したいと思います。ここで
が私の現在のフラグメント
public void onClickBtn1(View v) {
passData("abc");
}
public interface OnDataPass {
void onDataPass(String data);
}
OnDataPass dataPasser;
@Override
public void onAttach(Context a) {
super.onAttach(a);
dataPasser = (OnDataPass) a;
}
public void passData(String data) {
dataPasser.onDataPass(data);
}
してから、この私の活動の
@Override
public void onDataPass(String data) {
//do something with data
}
だ私は何とかこのまったく同じことを取得したいのですが、フリップフロップ。助言がありますか?ありがとう!
他の方法でも簡単です。フラグメントトランザクションを作成しているときにフラグメントへの参照を保持し、 'myFragment.passData(" anything ")'のようなものを言い、断片の中に通常のメソッドを作ります。 – Vucko
@Pamあなたのコードの2行目の誤字。する必要があります:passData( "abc"); – padeg