Android Fragment隐藏显示调用的方法

//在Activity中加载显示隐藏Fragment
import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Intent;
import android.os.Bundle;

import com.commons.Config;
import com.geluyawangluo.withthenight.activitymy.SignInActivity;
import com.geluyawangluo.withthenight.fragment.CatFragment;
import com.geluyawangluo.withthenight.fragment.ClassificationFragment;
import com.geluyawangluo.withthenight.fragment.InformationFragment;
import com.geluyawangluo.withthenight.fragment.MyFragment;
import com.geluyawangluo.withthenight.fragment.ShoppingFragment;
import com.geluyawangluo.withthenight.widget.ScreenManager;
import com.geluyawangluo.withthenight.widget.TabBar;

public class MainActivity extends Activity {
    private TabBar tabBar;
    private CatFragment catFragment;
    private ClassificationFragment classificationFragment;
    private InformationFragment informationFragment;
    private MyFragment myFragment;
    private ShoppingFragment shoppingFragment;
    private FragmentManager fm;
    private FragmentTransaction transaction;
    private Config config;
    private int ind=0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tabBar=(TabBar)findViewById(R.id.tabBar);
        ScreenManager.getInstance().addActivity(this);
        config=Config.getInstance();
        tabBar.addTab(R.mipmap.qt1_12,R.mipmap.qt1_12, "商城");
        tabBar.addTab(R.mipmap.huodongimage,R.mipmap.huodongimage, "活动");
        tabBar.addTab(R.mipmap.shequimage,R.mipmap.shequimage, "社区");
        tabBar.addTab(R.mipmap.qt1_15,R.mipmap.qt1_15, "购物车");
        tabBar.addTab(R.mipmap.qt1_16,R.mipmap.qt1_16, "我的");
         fm=getFragmentManager();
         transaction=fm.beginTransaction();
        catFragment = new CatFragment();
        classificationFragment=new ClassificationFragment();
        myFragment=new MyFragment();
        shoppingFragment=new ShoppingFragment();
        informationFragment = new InformationFragment();
        transaction.add(R.id.id_content,shoppingFragment);
        transaction.add(R.id.id_content,classificationFragment);
        transaction.add(R.id.id_content,informationFragment);
        transaction.add(R.id.id_content,catFragment);

        transaction.add(R.id.id_content,myFragment).commit();

        tabBar.setTabShouldChange(new TabBar.TabShouldChange() {

            @Override
            public boolean shouldChange(int index) {
                // TODO Auto-generated method stub
                if (index == 0) {

                    getFragmentManager().beginTransaction().hide(catFragment).hide(myFragment).hide(classificationFragment).hide(informationFragment).show(shoppingFragment).commit();
                    ind=0;
                } else if (index == 1) {
                    getFragmentManager().beginTransaction().hide(catFragment).hide(myFragment).hide(shoppingFragment).hide(informationFragment).show(classificationFragment).commit();
                    ind=1;
                } else if (index == 2) {
                    getFragmentManager().beginTransaction().hide(catFragment).hide(myFragment).hide(shoppingFragment).hide(classificationFragment).show(informationFragment).commit();
                    ind=2;
                }else if (index == 3) {
//                    setCatFragment();
                    getFragmentManager().beginTransaction().hide(informationFragment).hide(myFragment).hide(shoppingFragment).hide(classificationFragment).show(catFragment).commit();
                    ind=3;
                }else if (index == 4) {
                    String land=config.getString("uid");
                    if(land.length()<1){
                        Intent intent=new Intent();
                        intent.putExtra("main","main");
                        intent.setClass(MainActivity.this, SignInActivity.class);
                        startActivity(intent);
                        tabBar.setSelectedndex(ind);
                        return false;

                    }else{
                        getFragmentManager().beginTransaction().hide(informationFragment).hide(catFragment).hide(shoppingFragment).hide(classificationFragment).show(myFragment).commit();
                   ind=4;
                    }

                }
                return true;
            }
        });
//        setShoppingFragment();
        Intent intent=this.getIntent();
        if(intent!=null){
            String mark=intent.getStringExtra("mark");
            if(mark!=null&&mark.equals("feilei")){

                getFragmentManager().beginTransaction().hide(catFragment).hide(myFragment).hide(shoppingFragment).hide(informationFragment).show(classificationFragment).commit();
           tabBar.setSelectedndex(1);
                ind=1;
            }else{
                getFragmentManager().beginTransaction().hide(catFragment).hide(myFragment).hide(classificationFragment).hide(informationFragment).show(shoppingFragment).commit();
            }

        }

    }

}


//Fragment显示隐藏的时候会调用
//Fragment中的onHiddenChanged方法在这里可以更新界面数据
@Override
public void onHiddenChanged(boolean hidden) {
    super.onHiddenChanged(hidden);

 }
}

时间: 2024-10-12 15:31:42

Android Fragment隐藏显示调用的方法的相关文章

android ListView 多次调用 getView方法

<ListView            android:layout_width="match_parent"            android:layout_height="match_parent"             android:id="@+id/alarm_list"></ListView> ListView 的高度 必须要设置成一个明确的值 或者match_parent  不然就会调用多次getVi

Android Fragment 隐藏或显示时调用的生命周期方法

Fragment使用方式大体分两种: 大家要注意不同的Fragment使用方法,Fragment隐藏和显示调用的生命周期方法是不同的,以下是Fragment显示隐藏调用的方法: //判断是否展示—与ViewPager连用,进行左右切换@Overridepublic void setUserVisibleHint(boolean isVisibleToUser) {super.setUserVisibleHint(isVisibleToUser);if (isVisibleToUser)//展示}

Android 网络图片查看显示的实现方法

效果图如下: 界面中有三个控件,一个EditText,一个Button,一个ImageView 1.下面是具体布局文件 <EditText android:id="@+id/picturepagh" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello_world" />

关于元素隐藏/显示的各种方法

元素的隐藏/显示可以说数使用频率最高的方法之一,比如二级菜单,响应式布局,透明过度等等许许多多的特效都会使用到,以下介绍一下元素隐藏的各属性以及他们的特性和使用方法:display  visibility  opacity  overflow  position 我们先设置一些共有属性: <head> <style> div{ width: 100px; height: 100px; background-color: #444; margin: 10px; color: #f00

Android Fragment分页显示的实现

分页显示有两种方式 一种是使用ViewPager 另一种是使用FragmentTransaction 上代码 1 FragmentTransaction实现方式 public class MainActivity extends FragmentActivity implements View.OnClickListener { private AllPhotosFragment allPhotosFragment; private MyAlbumFragment myAlbumFragment

Android 输入密码 隐藏显示输入的字符串

首先是xml布局的设计 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" androi

Android 动态隐藏显示导航栏,状态栏

Talk is cheap, show me the code. --Linus Torvalds Okay, here: 一.导航栏: [java] view plain copy private void hideNavigationBar() { View decorView = getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULL

Android开发之视频播放调用setVideoPath()方法

当setVideoPath()的时候,底层是这个走的: setVideoPath()-->setVideoURI()-->openVideo(): openVideo()只是setVideoURI()中的一部分,还有的没有写出来,下面看一下openVideo的具体内容: 1 private void openVideo() { 2 if (mUri == null || mSurfaceHolder == null) { 3 // not ready for playback just yet

浅谈Android Fragment嵌套使用存在的一些BUG以及解决方法

自从Android3.0引入了Fragment之后,使用Activity去嵌套一些Fragment的做法也变得更加流行,这确实是Fragment带来的一些优点,比如说:Fragment可以使你能够将activity分离成多个可重用的组件,每个都有它自己的生命周期和UI,更重要的是Fragment解决了Activity间的切换不流畅,实现了一种轻量及的切换,但是在官方提供的android.support.v4包中,Fragment还是或多或少的存在一些BUG,今天就与大家分享一下这些BUG和解决方