0
我正在学习活动和片段。我有一个简单的应用程序,只要点击一个按钮就可以更改片段视图。我也注意到我可以在不同的片段之间滑动。在我的Activity中,当我点击一个按钮时,我有一个TextView,它将显示我在哪个片段。当我在活动之间滑动时,我还想让Activity的TextView显示我的片段在Android Java活动显示哪个片段可见
例如,当我在我的Activity中点击btn2时,TextView将显示“你在tab2中”。当我滑动到下一个片段时,我希望我的活动根据正在查看的片段显示“您在tab3中”的内容。
我已经在使用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);
}
谢谢!