Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:在swipeable选项卡布局中切换活动_Java_Android_Tabs - Fatal编程技术网

Java Android:在swipeable选项卡布局中切换活动

Java Android:在swipeable选项卡布局中切换活动,java,android,tabs,Java,Android,Tabs,在我的android应用程序中,有一个可切换的选项卡布局。它有两个选项卡:新投诉和以前的投诉。单击“投诉”选项卡时,我需要启动newcomplane.java。下面是我的普通类代码段: newcomplane类 public class NewComplain extends SherlockFragmentActivity implements View.OnClickListener { private int Year; private int Month; pr

在我的android应用程序中,有一个可切换的选项卡布局。它有两个选项卡:新投诉和以前的投诉。单击“投诉”选项卡时,我需要启动newcomplane.java。下面是我的普通类代码段:

newcomplane

 public class NewComplain extends SherlockFragmentActivity implements View.OnClickListener {
    private int Year;
    private int Month;
    private int Day;
    private static final int DATE_DIALOG_ID = 1;
    private View viewLoad;
    private TextView heading, date;
    private Spinner spiComplain, spiProduct;
    private EditText description, contInfo;
    private Button btnDate;
    private ArrayAdapter<String> complainAdapter, prodAdapter;
    private ArrayList<String> lstComplain = new ArrayList<String>();
    private ArrayList<String> lstProdNames = new ArrayList<String>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        viewLoad = LayoutInflater.from(NewComplain.this).inflate(
                R.layout.new_complain, null);
        setContentView(viewLoad);                       
    }
}
这是我的主要活动

 package xont.virtusel.v4.controller.sale;

    import android.content.Intent;
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentManager;
    import android.support.v4.app.FragmentPagerAdapter;

    public class TabsPagerAdapter extends FragmentPagerAdapter {

    public TabsPagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int index) {

        switch (index) {
        case 0:

        case 1:

        }

        return null;
    }

    @Override
    public int getCount() {
        // get item count - equal to number of tabs
        return 2;
    }

}
 package xont.virtusel.v4.controller.sale;

    import xont.virtusel.v4.controller.R;
    import android.app.ActionBar;
    import android.app.ActionBar.Tab;
    import android.app.FragmentTransaction;
    import android.os.Bundle;
    import android.support.v4.app.FragmentActivity;
    import android.support.v4.view.ViewPager;

    public class CustomerComplainActivity extends FragmentActivity implements ActionBar.TabListener {

    private ViewPager viewPager;
    private TabsPagerAdapter mAdapter;
    private ActionBar actionBar;
    private String[] tabs = { "New Complain", "Previous Complains" };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Initialization
        viewPager = (ViewPager) findViewById(R.id.pager);
        actionBar = getActionBar();
        mAdapter = new TabsPagerAdapter(getSupportFragmentManager());

        viewPager.setAdapter(mAdapter);
        actionBar.setDisplayHomeAsUpEnabled(true);
        //actionBar.setHomeButtonEnabled(true);
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        //actionBar.setDisplayShowHomeEnabled(false);
        //actionBar.setDisplayShowTitleEnabled(false);

        // Adding Tabs
        for (String tab_name : tabs) {
            actionBar.addTab(actionBar.newTab().setText(tab_name)
                    .setTabListener(this));
        }

        /**
         * on swiping the viewpager make respective tab selected
         * */
        viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

            @Override
            public void onPageSelected(int position) {
                // on changing the page
                // make respected tab selected
                actionBar.setSelectedNavigationItem(position);
            }

            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
            }

            @Override
            public void onPageScrollStateChanged(int arg0) {
            }
        });
    }

    @Override
    public void onTabReselected(Tab tab, FragmentTransaction ft) {
    }

    @Override
    public void onTabSelected(Tab tab, FragmentTransaction ft) {
        // on tab selected
        // show respected fragment view
        viewPager.setCurrentItem(tab.getPosition());
    }

    @Override
    public void onTabUnselected(Tab tab, FragmentTransaction ft) {
    }

}
如何将切换活动语句添加到此TabsPagerAdapter类中。我使用了意图。但它不起作用。 有谁能这么好心地澄清这个问题吗。
Thanx提前

你到底有什么问题

如果无法启动新的
片段
,请尝试以下操作: 在选项卡SPAGERAAdapter中的
公共片段getItem()
方法

@Override
    public Fragment getItem(int index) {

        switch (index) {
        case 0:
            return new NewComplain();
        case 1:
            //return some other class
        }

        return null;
    }

并为
类创建一个构造函数,因为您正在添加片段,而不是活动。在选项卡侦听器中,您将获得一个FragmentTransaction,您应该使用它来更新显示的与按下的选项卡相关的片段

另外,不要在创建时在片段中膨胀,在创建视图中进行膨胀