【发布时间】:2014-04-23 06:20:33
【问题描述】:
我开发了一个应用程序,其中一个我使用片段查看寻呼机。我使用片段类移动到另一个页面。在第二个片段类中,我有一个按钮,我编写代码直接移动到第一个片段通过fragment.replace,但是在替换第一个片段后,我不会将寻呼机页面滚动到另一个,这意味着当我单击后退按钮时,我会移动到第一个片段,但我无法再次返回该类。所以我不知道再次将移动/滚动页面移动到第二个片段。请尽快帮助我,在此先感谢。
我的第一堂课:
enter code here
public class ViewPagerMainActivity extends FragmentActivity implements
OnClickListener, OnPageChangeListener {
// all variable declare here
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD,
WindowManager.LayoutParams.FLAG_FULLSCREEN
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
);
setTheme(android.R.style.Theme_Light_NoTitleBar);
setContentView(R.layout.view_pager_main);
// other code here
}
private class MyPagerAdapter extends FragmentPagerAdapter {
public MyPagerAdapter(
android.support.v4.app.FragmentManager fragmentManager) {
super(fragmentManager);
}
@Override
public Fragment getItem(int pos) {
switch (pos) {
case 0:
return FirstFragment.newInstance("");
case 1:
return SecondFragment.newInstance("");
default:
return SecondFragment.newInstance("Default");
}
}
@Override
public int getCount() {
return 2; // return no of fragment created by us
}
}
@Override
public void onClick(View v) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
}
}
enter code here SECOND FILE
public class FirstFragment extends Fragment implements OnTouchListener {
// all variable decalre here
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
getActivity().setTheme(android.R.style.Theme_Light_NoTitleBar);
v = inflater.inflate(R.layout.sliding_lock_pager, container, false);
// other code here
return v;
}
public static FirstFragment newInstance(String text) {
FirstFragment f = new FirstFragment();
Bundle b = new Bundle();
b.putString("msg", text);
f.setArguments(b);
return f;
}
@Override
public boolean onTouch(View v, MotionEvent event) {
return false;
}
} 第三个文件 在此处输入代码 公共类 SecondFragment 扩展 Fragment 实现 OnClickListener {
// all varible decalare here
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
getActivity().setTheme(android.R.style.Theme_Light_NoTitleBar);
View v = inflater.inflate(R.layout.password, container, false);
// other code here
// this method move to main pager
txtBack.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
final android.support.v4.app.FragmentTransaction ft = getFragmentManager()
.beginTransaction();
ft.replace(R.id.layputMainPager, new FirstFragment(),
"NewFragmentTag");
ft.addToBackStack(null);
ft.commit();
}
});
return v;
}
public static SecondFragment newInstance(String text) {
SecondFragment f = new SecondFragment();
Bundle b = new Bundle();
b.putString("msg", text);
f.setArguments(b);
return f;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
}
See in secondFragment class when i back through back button then i want to scroll again to that page i not do that. i move again to that page though page scroll. and in ft.replace(R.id.layputMainPager, new FirstFragment()) R.id.layputMainPager is `class ViewPagerMainActivity` class xml files a
主布局ID。
【问题讨论】:
-
请分享您的代码..
-
请 rahul 帮我在上面显示我的代码
标签: android android-viewpager fragment