猿问

用了例程的源码 为什么tab的内容没有显示??

package com.example.ghost.text1;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.View;
import android.view.Window;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

/**
 * Created by GHOST on 2017/1/28.
 * Fragment
 */
public class tabActivity extends FragmentActivity implements View.OnClickListener {

    // 四个tab布局
    private LinearLayout takeOutLayout, expressLayout, personLayout, nearbyLayout;

    // 底部标签切换的Fragment
    private Fragment takeOutFragment, expressFragment, personFragment, nearbyFragment;
    // 底部标签图片
    private ImageView takeOutImg, expressImg, nearbyImg, personImg;
    private TextView takeoutTv, expressTv, nearbyTv, presonTv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.main_menu);

        initView();
        initEvent();
        setSelect(0);
    }

    private void initEvent() {
        takeOutLayout.setOnClickListener(this);
        expressLayout.setOnClickListener(this);
        nearbyLayout.setOnClickListener(this);
        personLayout.setOnClickListener(this);
    }

    private void initView() {
        takeOutLayout = (LinearLayout) findViewById(R.id.id_tab_takeout);
        expressLayout = (LinearLayout) findViewById(R.id.id_tab_express);
        nearbyLayout = (LinearLayout) findViewById(R.id.id_tab_nearby);
        personLayout = (LinearLayout) findViewById(R.id.id_tab_person);

        takeOutImg = (ImageView) findViewById(R.id.id_tab_takeout_img);
        expressImg = (ImageView) findViewById(R.id.id_tab_express_img);
        nearbyImg = (ImageView) findViewById(R.id.id_tab_nearby_img);
        personImg = (ImageView) findViewById(R.id.id_tab_person_img);
    }

    private void setSelect(int i) {
        FragmentManager fm = getSupportFragmentManager();
        FragmentTransaction transaction = fm.beginTransaction();
        hideFragment(transaction);
        // 把图片设置为亮的
        // 设置内容区域
        switch (i) {
            case 0:
                if (takeOutFragment == null) {
                    takeOutFragment = new tab1_fragment();
                    transaction.add(R.id.id_content, takeOutFragment);
                } else {
                    transaction.show(takeOutFragment);
                }
                takeOutImg.setImageResource(R.drawable.tab_1);
                break;
            case 1:

                if (expressFragment == null) {
                    expressFragment = new tab2_fragment();
                    transaction.add(R.id.id_content, expressFragment);
                } else {
                    transaction.show(expressFragment);

                }
                expressImg.setImageResource(R.drawable.tab_2);
                break;
            case 2:
                if (nearbyFragment == null) {
                    nearbyFragment = new tab3_fragment();
                    transaction.add(R.id.id_content, nearbyFragment);
                } else {
                    transaction.show(nearbyFragment);
                }
                nearbyImg.setImageResource(R.drawable.tab_3);
                break;
            case 3:
                if (personFragment == null) {
                    personFragment = new tab4_fragment();
                    transaction.add(R.id.id_content, personFragment);
                } else {
                    transaction.show(personFragment);
                }
                personImg.setImageResource(R.drawable.tab_4);
                break;

            default:
                break;
        }
        transaction.commit();
    }

    private void hideFragment(FragmentTransaction transaction) {
        if (takeOutFragment != null) {
            transaction.hide(takeOutFragment);
        }
        if (expressFragment != null) {
            transaction.hide(expressFragment);
        }
        if (nearbyFragment != null) {
            transaction.hide(nearbyFragment);
        }
        if (personFragment != null) {
            transaction.hide(personFragment);
        }
    }

    @Override
    public void onClick(View v) {
        resetImgs();
        switch (v.getId()) {
            case R.id.id_tab_takeout:
                setSelect(0);
                break;
            case R.id.id_tab_express:
                setSelect(1);
                break;
            case R.id.id_tab_nearby:
                setSelect(2);
                break;
            case R.id.id_tab_person:
                setSelect(3);
                break;

            default:
                break;
        }
    }

    private void resetImgs() {
        takeOutImg.setImageResource(R.drawable.tab_1_1);
        expressImg.setImageResource(R.drawable.tab_2_2);
        nearbyImg.setImageResource(R.drawable.tab_3_3);
        personImg.setImageResource(R.drawable.tab_4_4);
    }
}
<?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:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:text="This is a Tab"
        android:textSize="30sp"
        android:textStyle="bold" />

</LinearLayout>
package com.example.ghost.text1;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class tab1_fragment extends Fragment {

    public View onCreate(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        return   inflater.inflate(R.layout.tab01, container, false);

    }


}


qq_十九的月亮_03543039
浏览 1062回答 2
2回答

爱3

是不是默认显示哪个界面的问题

ziom

代码贴全一点好吗,这样怎么看,提问的时候设置一下代码语言,不要直接复制粘贴
随时随地看视频慕课网APP

相关分类

Android
我要回答