如何替换Viewpager中的Fragment,我应该给哪个Id替换片段?

时间:2015-06-01 12:54:19

标签: android android-viewpager android-fragmentactivity

我在使用ActionBar.TabListener在Fragments中实现滑动视图时遇到问题,我通过Google搜索找到了解决方案...现在我坚持要更换每个标签中的片段..

我的每个标签都包含片段,每个片段中我都有一个带有setONclickListener的Button,它应该替换另一个片段

我在上一个问题中提到了我在代码中使用的MainActivity和FragmentPagerAdapter类,该链接如下所示。

How Can i Implementing Swipe View in ActionTab and Fragments within Multiple Fragments?

现在在每个片段中我使用了带有xml布局ID的FragmentTransaction,但它与旧片段重叠......

我还使用了main.xml视图寻呼机ID,但这也没有用..

FragmentTab1是......

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;

public class FragmentTab1 extends Fragment {
    Button A, B;
    LinearLayout rl;

    public FragmentTab1 () {
        // Required empty public constructor
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        final View rootView = inflater.inflate(R.layout.e_layout, container, false);
        A=(Button)rootView.findViewById(R.id.intra);
        B=(Button)rootView.findViewById(R.id.del);
        rl= (LinearLayout)rootView.findViewById(R.id.ie1);

        A.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                FragmentTab1A i= new FragmentTab1A ();
                FragmentManager fm= getFragmentManager();
                FragmentTransaction ft= fm.beginTransaction();
                ft.replace(R.id.ie1, i);
                ft.remove(Equity.this);

/*
                ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
                ft.addToBackStack(null);*/

                ft.commit();


            }


        });
        Del.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                FragmentTab1B d= new FragmentTab1B ();
                FragmentManager fm= getFragmentManager();
                FragmentTransaction ft= fm.beginTransaction();
                ft.replace(R.id.ie1, d);


                ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
                ft.addToBackStack(null);
                ft.commit();
            }
        });

    return rootView;
    }

}

FragmentTab1.xml

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
<LinearLayout
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/ie1"
    >

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Intra Day"

    android:id="@+id/intra"

    />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Del"

        android:id="@+id/del"
        />
</LinearLayout>
</ScrollView>

如上面在FragmentTab1中给出的那样,我使用了FragmentTab1.xml的“LinearLayout id”替换了A和B按钮

我也尝试使用activity_main.xml

中的viewpager的id

请分享解决方案..

感谢。

0 个答案:

没有答案