私は現在アクティビティーとフラグメントについて学習しています。私はボタンをクリックするたびにフラグメントビューを変更する簡単なアプリケーションを持っています。私はまた、私は別の断片間でスワイプできることに気づいた。Android Javaのアクティビティーにフラグメントが表示されます
私のアクティビティでは、ボタンをクリックすると、どのフラグメントが表示されるのかを示すTextViewがあります。アクティビティ間をスワイプすると、アクティビティのTextViewには、
たとえば、自分のアクティビティでbtn2をクリックすると、TextViewに「あなたはタブ2にいる」と表示されます。次のフラグメントにスワイプすると、どのフラグメントが表示されているかに基づいて、「あなたはタブ3にいる」のようなものを表示するようにActivityにしたいと思います。
私は既にOnDataPassを使用して、ユーザーがFragment内の情報を送信したときの処理を行います。ユーザーが別のフラグメントにスワイプしたときにデータを渡すことができる別の方法は、アクティビティでTextViewに何を表示させるかを知ることができますか?または、OnDataPassを使用し続けますか?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textview);
mSectionsPageAdapter = new SectionsPageAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.container);
setupViewPager(mViewPager);
}
public void onClickBtn1(View v){
int gotoIndex = 0;
mViewPager.setCurrentItem(gotoIndex, true);
textView.setText("you're in tab1");
}
public void onClickBtn2(View v){
int gotoIndex = 1;
mViewPager.setCurrentItem(gotoIndex, true);
textView.setText("you're in tab2");
}
public void onClickBtn3(View v){
int gotoIndex = 2;
mViewPager.setCurrentItem(gotoIndex, true);
textView.setText("you're in tab3");
}
public void onClickBtn4(View v){
Main2Activity.fromActivity("abc");
Log.i("btn4", "was clicked");
}
//used for when fragment passes data to activity
@Override
public void onDataPass(String data) {
Log.d("LOG", "passed data: " + data);
}
private void setupViewPager(ViewPager viewPager) {
SectionsPageAdapter adapter = new SectionsPageAdapter(getSupportFragmentManager());
adapter.addFragment(new Main2Activity(), "TAB1");
adapter.addFragment(new Main3Activity(), "TAB2");
adapter.addFragment(new Main4Activity(), "TAB3");
viewPager.setAdapter(adapter);
}
ありがとう:
は、ここに私の活動です!あなたが使用する必要があるタスクのこの種の