Java (ViewPagerIndicator)片段不';不要点击按钮就改变
我遇到过这样的问题。我正在使用Jake Wharton的ViewPagerIndicator库开发一个应用程序。我想在点击按钮时更改片段(但当用户浏览页面时,片段确实会更改),但我的代码不起作用。有解决这个问题的办法吗?在下面的代码中,我尝试在右键单击时将FirstFragment更改为SecondFragment。我将非常感谢你的任何帮助 FirstFragment.javaJava (ViewPagerIndicator)片段不';不要点击按钮就改变,java,android,android-fragments,Java,Android,Android Fragments,我遇到过这样的问题。我正在使用Jake Wharton的ViewPagerIndicator库开发一个应用程序。我想在点击按钮时更改片段(但当用户浏览页面时,片段确实会更改),但我的代码不起作用。有解决这个问题的办法吗?在下面的代码中,我尝试在右键单击时将FirstFragment更改为SecondFragment。我将非常感谢你的任何帮助 FirstFragment.java public View onCreateView(LayoutInflater inflater, ViewGroup
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.layout1, container, false);
rightButton = (Button) view.findViewById(R.id.rightButton);
rightButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
android.support.v4.app.Fragment fragment = new SecondFragment();
android.support.v4.app.FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.fragment1, fragment).commit();
}
});
return view;
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/d_blue"
android:id="@+id/fragment1"
android:orientation="vertical">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="First Layout" />
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@color/d_blue"
android:orientation="vertical"
android:padding="10dip">
<Button
android:id="@+id/leftButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:background="@android:color/transparent"
android:shadowColor="@color/text_shadow"
android:shadowDx="1"
android:shadowDy="1"
android:shadowRadius="2"
android:text="SKIP"
android:textColor="@color/light_font"
android:textSize="14dp"
android:textStyle="bold" />
<Button
android:id="@+id/rightButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:background="@android:color/transparent"
android:shadowColor="@color/text_shadow"
android:shadowDx="1"
android:shadowDy="1"
android:shadowRadius="2"
android:text="NEXT"
android:textColor="@color/light_font"
android:textSize="14dp"
android:textStyle="bold" />
</RelativeLayout>
</LinearLayout>
我在使用此代码刷卡时更改了片段(我不知道是否与问题有关,但我还是会发布它)TestFragmentAdapter.java文件
public Fragment getItem(int position) {
switch (position) {
case 0:
return FirstFragment.newInstance(0);
case 1:
return SecondFragment.newInstance(1);
case 2:
return ThirdFragment.newInstance(2);
default:
return null;
}
}
这是我的布局文件,指向FirstFragment.java
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.layout1, container, false);
rightButton = (Button) view.findViewById(R.id.rightButton);
rightButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
android.support.v4.app.Fragment fragment = new SecondFragment();
android.support.v4.app.FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.fragment1, fragment).commit();
}
});
return view;
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/d_blue"
android:id="@+id/fragment1"
android:orientation="vertical">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="First Layout" />
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@color/d_blue"
android:orientation="vertical"
android:padding="10dip">
<Button
android:id="@+id/leftButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:background="@android:color/transparent"
android:shadowColor="@color/text_shadow"
android:shadowDx="1"
android:shadowDy="1"
android:shadowRadius="2"
android:text="SKIP"
android:textColor="@color/light_font"
android:textSize="14dp"
android:textStyle="bold" />
<Button
android:id="@+id/rightButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:background="@android:color/transparent"
android:shadowColor="@color/text_shadow"
android:shadowDx="1"
android:shadowDy="1"
android:shadowRadius="2"
android:text="NEXT"
android:textColor="@color/light_font"
android:textSize="14dp"
android:textStyle="bold" />
</RelativeLayout>
</LinearLayout>
如何使用查看页面
而不是自己替换片段。这甚至不会编译。你能发布你真正的代码吗?我可以向你保证,它是编译的。我刚刚发布了我的主要代码片段。我在发布之前已经尝试过了,没有帮助:/I我无法从FirstFragment访问ViewPager