Java 将片段添加到viewPager';s片段
我的viewpager有3个片段(相同的布局-一些编辑文本和按钮),我想在viewpager片段上方动态添加小片段,在其中写入一些内容,然后将其隐藏 这就是我所尝试的: MainActivity.java:Java 将片段添加到viewPager';s片段,java,android,android-fragments,Java,Android,Android Fragments,我的viewpager有3个片段(相同的布局-一些编辑文本和按钮),我想在viewpager片段上方动态添加小片段,在其中写入一些内容,然后将其隐藏 这就是我所尝试的: MainActivity.java: public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreat
public class MainActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewPager pager = (ViewPager) findViewById(R.id.viewPager);
pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
}
private class MyPagerAdapter extends FragmentPagerAdapter {
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int pos) {
switch(pos) {
case 0: return MainFragment.newInstance("1");
case 1: return MainFragment.newInstance("2");
case 2: return MainFragment.newInstance("3");
default: return MainFragment.newInstance("");
}
}
@Override
public int getCount() {
return 3;
}
}
}
MainFragment.java:
public class MainFragment extends android.support.v4.app.Fragment {
EditText contentEdit;
String content, ID;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ID = getArguments().getString("msg");
}
@Override
public View onCreateView(LayoutInflater inflater, final ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_main, container, false);
contentEdit = (EditText) view.findViewById(R.id.editText);
contentEdit.setOnTouchListener(new OnSwipeTouchListener(getActivity()) {
public void onSwipeBottom() {
final ViewGroup newView = (ViewGroup) LayoutInflater.from(getActivity()).inflate(R.layout.fragment_title, container, false);
newView.findViewById(R.id.delete_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
container.removeView(newView);
}
});
container.addView(newView, 0);
}
public boolean onTouch(View v, MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
});
return view;
}
}
尝试在viewPager布局上方放置框架布局,但将其可见性设置为GONE,因此它将不“存在”。现在在寻呼机中,单击要显示的小片段的侦听器调用findViewByID(R.id.YourFrameLayout).setVisibility(View.VISIBLE);当你想隐藏它的时候,你就知道了。不要忘记将您的片段添加到该容器中,例如YourFrameLayout很乐意帮助(Nemášzačo):)