フラグメントの数を持つ ViewPager を含むアクティビティを作成しましたn
。前へ、次へ、終了ボタンも追加しました。フラグメントは、複数選択の ListView または単一の回答タイプのいずれかです。
ユーザーが [完了] をクリックしたときに、各フラグメントからデータを取得するにはどうすればよいですか? ViewPager から onPageSelected イベントでそれぞれの回答を取得する必要がありますか?
フラグメントの数を持つ ViewPager を含むアクティビティを作成しましたn
。前へ、次へ、終了ボタンも追加しました。フラグメントは、複数選択の ListView または単一の回答タイプのいずれかです。
ユーザーが [完了] をクリックしたときに、各フラグメントからデータを取得するにはどうすればよいですか? ViewPager から onPageSelected イベントでそれぞれの回答を取得する必要がありますか?
フラグメントとそれを含むアクティビティ間の通信は、インターフェイスを介して行われます。
フラグメントはインターフェイス リスナーを公開する必要があり、アクティビティはそれを実装し、イベントが発生するとフラグメントから通知を受ける必要があります。
私の例を使用することも、アクティビティが実装されないように変更することもできますが、実行時に匿名でリスナーを作成できます (クリック リスナーのボタンに対して何度も行うように)。
class MyFragment {
// Container Activity must implement this interface
public interface OnNextPageListener {
public void onNextPageSelected(String DataString);
}
// define listener in fragment
OnNextPageListener mNextPageListener;
.... class code
@Override
public void onAttach(Activity activity) {
try {
mNextPageListener = (OnNextPageListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement OnNextPageListener");
}
.... class code...
...button press onclick listener method...
mNextPageListener.onNextPageSelected("My Name is Slim Shaddy");
}
class MainActivity extends Activity implements MyFragment.OnNextPageListener
public void onNextPageSelected(String StringData) {
}
...
詳細はこちらhttp://developer.android.com/training/basics/fragments/communicating.html
いずれにせよ、誰かがフラグメントのボタンを押したときにこれを行うことをお勧めします。または、ViewPager.OnPageChangeListener をフックして、onPageScrollStateChanged でデータの保存を開始し、OnPageSelected でそれを完了することで、フラグメントが利用できない場合でもデータを確実に取得できるようにします。もう。