片段切换

时间:2014-06-20 10:51:38

标签: java android android-intent android-fragments

我是android.nd的新手现在我正在开发一个应用程序,其中我使用了标签并将其扩展为片段活动...每个标签都是片段。我有一个标签,其中我有一个列表视图如果我点击我打开了一个详细的视图...我在detailview上添加了一个按钮...当用户点击该按钮时,API ping完成,并且在onpostexecute()上应用应该转到第二个选项卡......但它不起作用..现在,我正在将它导航到..碎片活动,即对于第一个选项卡的默认活动,但是要求是第二个选项卡。

的DetailView

if(val.contains("success"))
{
    Intent intent = new Intent(getApplicationContext(),LiveSeedsActivity.class);
    intent.putExtra("login", val);
    Log.d("srafasfddddddddddddd",String.valueOf(val));
    startActivity(intent);
}else{
    Toast.makeText(getApplicationContext(),"Insufficient Seeds", Toast.LENGTH_LONG).show();
}

LiveSeedActivity

package com.yw.ngageapp.liveseeds;


public class LiveSeedsActivity extends FragmentActivity implements OnClickListener{



    @SuppressLint({ "InlinedApi", "NewApi" }) @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        context = this;
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.liveseeds_layout);
        this.setTitle("n-gage");
        btn1 = (ImageButton) findViewById(R.id.btn1);
        btn1.setOnClickListener(this);

        btn2 = (ImageButton) findViewById(R.id.btn2);
        btn2.setOnClickListener(this);

        btn3 = (ImageButton) findViewById(R.id.btn3);
        btn3.setOnClickListener(this);

        btn4 = (ImageButton) findViewById(R.id.btn4);
        btn4.setOnClickListener(this);

        btn5 = (ImageButton) findViewById(R.id.btn5);
        btn5.setOnClickListener(this);

        btn6 = (ImageButton) findViewById(R.id.btn6);
        btn6.setOnClickListener(this);

        btn7 = (ImageButton) findViewById(R.id.btn7);
        btn7.setOnClickListener(this);
        txt1 = (TextView) findViewById(R.id.txt1);
        txt2 = (TextView) findViewById(R.id.txt2);
        txt3 = (TextView) findViewById(R.id.txt3);
        txt4 = (TextView) findViewById(R.id.txt4);
        txt5 = (TextView) findViewById(R.id.txt5);
        txt6 = (TextView) findViewById(R.id.txt6);
        txt7 = (TextView) findViewById(R.id.txt7);
        Intent intent = getIntent();
        Log.d("Intentssssssss",String.valueOf(intent.getAction()));

        mTabHost = (TabHost) findViewById(android.R.id.tabhost);
        mTabHost.setup();


        TabHost.OnTabChangeListener tabChangeListener = new TabHost.OnTabChangeListener() {


            @Override
            public void onTabChanged(String tabId) {
                android.support.v4.app.FragmentManager fm =   getSupportFragmentManager();

                Myseeds_fragment Fragment1 = (Myseeds_fragment) fm.findFragmentByTag("Myseeds");

                Fragment2 = (DonatedPage) fm.findFragmentByTag("Donated");

                CausesPage Fragment3 = (CausesPage) fm.findFragmentByTag("Causes");

                FragementTab2 Fragment4 = (FragementTab2) fm.findFragmentByTag("Earn");


                android.support.v4.app.FragmentTransaction ft = fm.beginTransaction();


                if(Fragment1!=null)
                    ft.detach(Fragment1);

                if(Fragment2!=null)
                    ft.detach(Fragment2);


                if(Fragment3!=null)
                    ft.detach(Fragment3);

                if(Fragment4!=null)
                    ft.detach(Fragment4);


                if(tabId.equalsIgnoreCase("Myseeds")){

                    if(Fragment1==null){        

                        ft.add(android.R.id.tabcontent,new Myseeds_fragment(), "Myseeds");                      
                    }else{

                        ft.attach(Fragment1);                       
                    }

                }

                else if(tabId.equalsIgnoreCase("Donated")){ 
                    /** If current tab is apple */
                    Log.v("exhibitors","apple intabselect");
                    if(Fragment2==null){

                        ft.add(android.R.id.tabcontent,new DonatedPage(), "Donated");                       
                    }else{
                        /** Bring to the front, if already exists in the fragmenttransaction */
                        ft.attach(Fragment2);                       
                    }
                }



                else if(tabId.equalsIgnoreCase("Causes")){ 
                    /** If current tab is apple */
                    Log.v("exhibitors","apple intabselect");
                    if(Fragment3==null){

                        ft.add(android.R.id.tabcontent,new CausesPage(), "Causes");                     
                    }else{

                        ft.attach(Fragment3);                       
                    }
                }

                else if(tabId.equalsIgnoreCase("Earn")){ 
                    /** If current tab is apple */
                    Log.v("exhibitors","apple intabselect");
                    if(Fragment4==null){

                        ft.add(android.R.id.tabcontent,new FragementTab2(), "Earn");                        
                    }else{

                        ft.attach(Fragment4);                       
                    }
                }



                ft.commit();                
            }
        };

        Log.v("exhibitors","in5");

        mTabHost.setOnTabChangedListener(tabChangeListener);


        View tabview = createTabView(context,"My Seeds");
        View tabview1 = createTabView(context,"Donated");
        View tabview2 = createTabView(context,"Causes");
        View tabview3 = createTabView(context,"Earn");


        TabHost.TabSpec tSpecAndroid = mTabHost.newTabSpec("Myseeds");
        tSpecAndroid.setIndicator(tabview);        
        tSpecAndroid.setContent(new DummyTabContent(getBaseContext()));        
        mTabHost.addTab(tSpecAndroid);


        /** Defining tab builder for Apple tab */
        TabHost.TabSpec tSpecApple = mTabHost.newTabSpec("Donated");
        tSpecApple.setIndicator(tabview1);        
        tSpecApple.setContent(new DummyTabContent(getBaseContext()));
        mTabHost.addTab(tSpecApple);


        /** Defining tab builder for Apple tab */
        TabHost.TabSpec tSpecbycategory = mTabHost.newTabSpec("Causes");
        tSpecbycategory.setIndicator(tabview2);        
        tSpecbycategory.setContent(new DummyTabContent(getBaseContext()));
        mTabHost.addTab(tSpecbycategory);

        TabHost.TabSpec tSpecblink = mTabHost.newTabSpec("Earn");
        tSpecblink.setIndicator(tabview3);        
        tSpecblink.setContent(new DummyTabContent(getBaseContext()));
        mTabHost.addTab(tSpecblink);



    }
    @Override
    public void onClick(View view) {
        // TODO Auto-generated method stub
        if(view.getId()==R.id.btn2){


            Intent intent = new Intent(LiveSeedsActivity.this,
                    GoActivity.class);
            startActivity(intent);
            Display display = ((WindowManager) 
                    getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
            if ((display.getRotation() == Surface.ROTATION_0) || 
                    (display.getRotation() == Surface.ROTATION_180)) {
                overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
            }
        }else if(view.getId()==R.id.btn3){


            Intent intent = new Intent(LiveSeedsActivity.this,
                    KnowFragment.class);
            startActivity(intent);
            Display display = ((WindowManager) 
                    getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
            if ((display.getRotation() == Surface.ROTATION_0) || 
                    (display.getRotation() == Surface.ROTATION_180)) {
                overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
            }
        }else if(view.getId()==R.id.btn4){


            Intent intent = new Intent(LiveSeedsActivity.this,
                    MessageActivity.class);
            startActivity(intent);
            // btn4.setBackgroundColor(0xff00ff00);
            Display display = ((WindowManager) 
                    getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
            if ((display.getRotation() == Surface.ROTATION_0) || 
                    (display.getRotation() == Surface.ROTATION_180)) {
                overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
            }

        }else if(view.getId()==R.id.btn5){


            //              Intent intent = new Intent(OptionsActivity.this,
            //                      OptionsActivity.class);
            //              startActivity(intent);
            //              Display display = ((WindowManager) 
            //                      getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
            //              if ((display.getRotation() == Surface.ROTATION_0) || 
            //                  (display.getRotation() == Surface.ROTATION_180)) {
            //                  overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
            //              }
        }else if(view.getId()==R.id.btn6){


            Intent intent = new Intent(LiveSeedsActivity.this,
                    FriendsActivity.class);
            startActivity(intent);
            Display display = ((WindowManager) 
                    getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
            if ((display.getRotation() == Surface.ROTATION_0) || 
                    (display.getRotation() == Surface.ROTATION_180)) {
                overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
            }
        }else if(view.getId()==R.id.btn7){


            Intent intent = new Intent(LiveSeedsActivity.this,
                    OptionsActivity.class);
            startActivity(intent);
            Display display = ((WindowManager) 
                    getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
            if ((display.getRotation() == Surface.ROTATION_0) || 
                    (display.getRotation() == Surface.ROTATION_180)) {
                overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
            }
        }

    }

    private static View createTabView(final Context context, final String text) {
        View view = LayoutInflater.from(context).inflate(R.layout.tabs_bg, null);
        TextView tv = (TextView) view.findViewById(R.id.tabsText);
        tv.setText(text);
        return view;
    }

    @Override
    public void onBackPressed() {
        super.onBackPressed();
        overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
        Display display = ((WindowManager) 
                getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
        if ((display.getRotation() == Surface.ROTATION_0) || 
                (display.getRotation() == Surface.ROTATION_180)) {
            overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
        }
    }

}

1 个答案:

答案 0 :(得分:0)

使用 getActionBar()。setSelectedNavigationItem(2); 将此处使用的标签索引ex 2发送回包含您的片段的活动。

相关问题