ray*_*ray 4 android android-fragments
FragmentPagerSupport是FragmentActivity类,FragmentA和FragmentB代表2个不同的选项卡.在第一个选项卡中,我有一个EditText和一个按钮.我的任务是按下按钮需要打开第二个选项卡并在第二个选项卡中显示EditText值.我也在使用FragmentStatePagerAdapter.
以下代码构建了FragmentActivity的onCreate()选项卡:
for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) {
actionBar.addTab(actionBar.newTab()
.setText(mSectionsPagerAdapter.getPageTitle(i))
.setTabListener(this));
}
Run Code Online (Sandbox Code Playgroud)
我在FragmentStatePagerAdapter中的代码如下:
public Fragment getItem(int position) {
Fragment fragment = null;
Bundle args = new Bundle();
switch (position) {
case 0:
fragment = FragmentA();
args.putInt(FragmentA.ARG_SECTION_NUMBER, position + 1);
fragment.setArguments(args);
break;
case 1:
fragment = new FragmentB();
args.putInt(FragmentB.ARG_SECTION_NUMBER, position + 1);
fragment.setArguments(args);
break;
}
return fragment;
}
Run Code Online (Sandbox Code Playgroud)
单击按钮时我的FragmentA代码如下:
confirmButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
}
}
Run Code Online (Sandbox Code Playgroud)
现在我卡在这里.在这里找不到代码应该调用第二个选项卡并根据tab1 EditText值显示值.
ian*_*ake 11
假设您的ViewPager名为mPager:
public void onClick(View view)
{
mPager.setCurrentItem(1); // Change to page 1, i.e., FragmentB
}
Run Code Online (Sandbox Code Playgroud)
我建议详细阅读这个培训页面.它介绍了一些用于将信息从Fragment传递到Fragment的策略(通常通过让Activity实现Fragment随后可以调用的接口).
这实际上取决于你想要你的片段的耦合程度.你当然可以使用类似的东西
((FragmentB)getActivity().getSupportFragmentManager().findFragmentByTag(
"android:switcher:" + pager.getId() + ":1")).setExitText(text)
Run Code Online (Sandbox Code Playgroud)
将文本从FragmentA传递到FragmentB,但是将片段彼此紧密地耦合到Activity包含的ViewPager.
我会建议
| 归档时间: |
|
| 查看次数: |
6943 次 |
| 最近记录: |