android fragment-一个fragment跳转到其它fragment,其它fragment变成了空白页

问题描述

一个fragment跳转到其它fragment,其它fragment变成了空白页

MainActivity里面有三个fragment的样子,但是呢当我第一个fragment制作了获取新闻功能之后,其它fragment都变成了空白页,请高手指点一下下,谢啦!!
新闻fragment:

其它fragment:

MainActivity:

import net.loonggg.fragment.R;
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.Window;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;

public class MainActivity extends FragmentActivity {
private Fragment[] mFragments;
private RadioGroup bottomRg;
private FragmentManager fragmentManager;
private FragmentTransaction fragmentTransaction;
private RadioButton rbOne, rbTwo, rbThree;

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

    mFragments = new Fragment[3];
    fragmentManager = getSupportFragmentManager();
    mFragments[0] = fragmentManager.findFragmentById(R.id.fragement_main);
    mFragments[1] = fragmentManager.findFragmentById(R.id.fragement_bbs);
    mFragments[2] = fragmentManager.findFragmentById(R.id.fragement_setting);
    fragmentTransaction = fragmentManager.beginTransaction()
            .hide(mFragments[0]).hide(mFragments[1]).hide(mFragments[2]);
    fragmentTransaction.show(mFragments[0]).commit();
    setFragmentIndicator();
}

private void setFragmentIndicator() {

    bottomRg = (RadioGroup) findViewById(R.id.bottomRg);
    rbOne = (RadioButton) findViewById(R.id.rbOne);
    rbTwo = (RadioButton) findViewById(R.id.rbTwo);
    rbThree = (RadioButton) findViewById(R.id.rbThree);

    bottomRg.setOnCheckedChangeListener(new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            fragmentTransaction = fragmentManager.beginTransaction()
                    .hide(mFragments[0]).hide(mFragments[1])
                    .hide(mFragments[2]);
            switch (checkedId) {
            case R.id.rbOne:
                fragmentTransaction.show(mFragments[0]).commit();
                break;

            case R.id.rbTwo:
                fragmentTransaction.show(mFragments[1]).commit();
                break;

            case R.id.rbThree:
                fragmentTransaction.show(mFragments[2]).commit();
                break;

            default:
                break;
            }
        }
    });
}

}
显示新闻的fragment:
import java.util.ArrayList;
import java.util.List;

import org.json.JSONArray;
import org.json.JSONException;

import com.askdoctor.adapter.NewsAdapter;
import com.askdoctor.constans.Constant;
import com.askdoctor.entity.News;
import com.askdoctor.utils.HttpUtils;
import net.loonggg.fragment.R;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;

public class FragmentMain extends Fragment {

private NewsAdapter adapter;
private List<News> newsList;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    return inflater.inflate(R.layout.fragment_main, container, false);
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    ListView listNews = (ListView)getView().findViewById(R.id.list_web_view);
    newsList=new ArrayList<News>();
    adapter = new NewsAdapter(getActivity(),newsList);
    listNews.setAdapter(adapter);
    HttpUtils.getNewsJSON(Constant.URL_GET_NEWS_LIST, getNewsHandler);
}

public Handler getNewsHandler=new Handler(){
    public void handleMessage(android.os.Message msg){
        String jsonData=(String)msg.obj;
        System.out.println(jsonData);
        try {
            JSONArray jsonArray=new JSONArray(jsonData);
            for (int i = 0; i < jsonArray.length(); i++) {
                org.json.JSONObject object = jsonArray.getJSONObject(i);
                String title=object.getString("title");
                String desc=object.getString("desc");
                String time=object.getString("time");
                String content_url=object.getString("content_url");
                String pic_url=object.getString("pic_url");
                newsList.add(new News(title, desc, time, content_url, pic_url));
            }
            //数据变化后更新adapter
            adapter.notifyDataSetChanged();
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    };
};

}
变成空白页的fragment:
import net.loonggg.fragment.R;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;

public class FragmentBBS extends Fragment {
Button btnSendBBS;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    return inflater.inflate(R.layout.fragment_bbs, container, false);
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    btnSendBBS=(Button)getView().findViewById(R.id.btn_jump_submit);
    initview();
}

private void initview() {

            btnSendBBS.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    Intent intent=new Intent(getActivity(),MakeBBS.class);
                    startActivity(intent);
                }
            });
}

@Override
public void onPause() {
    super.onPause();
}

}


这是logcat:
03-03 20:26:52.056: E/memtrack(3342): Couldn't load memtrack module (No such file or directory)
03-03 20:26:52.056: E/android.os.Debug(3342): failed to load memtrack module: -2
03-03 20:26:52.756: E/InputDispatcher(372): channel '4a9f03c8 net.loonggg.fragment/com.askdoctor.ui.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
03-03 20:26:54.940: E/Icing(685): Error initializing, resetting corpora: Could not create native index
03-03 20:26:55.240: E/Icing(685): Internal init failed
03-03 20:26:55.240: E/Icing(685): Couldn't handle android.intent.action.PACKAGE_REMOVED intent due to initialization failure.
03-03 20:26:55.240: E/Icing(685): Couldn't handle android.intent.action.PACKAGE_ADDED intent due to initialization failure.
03-03 20:26:55.244: E/Icing(685): Couldn't handle android.intent.action.PACKAGE_REPLACED intent due to initialization failure.
03-03 20:26:57.100: E/memtrack(3367): Couldn't load memtrack module (No such file or directory)
03-03 20:26:57.100: E/android.os.Debug(3367): failed to load memtrack module: -2
03-03 20:26:57.944: E/memtrack(3388): Couldn't load memtrack module (No such file or directory)
03-03 20:26:57.944: E/android.os.Debug(3388): failed to load memtrack module: -2
03-03 20:32:09.552: E/CheckinTask(685): Checkin failed: https://android.clients.google.com/checkin (request #0): org.apache.http.conn.ConnectTimeoutException: Connect to /74.125.23.138:443 timed out
03-03 20:35:50.196: E/BandwidthController(138): Updating quota globalAlert failed (No such file or directory)

再次谢谢各位啦!!!

解决方案

http://bbs.csdn.net/topics/390917966

解决方案二:

把代码贴出来啊,哥们

解决方案三:

参考下
http://dwtedx.com/itshare_296.html

时间: 2024-10-31 10:56:02

android fragment-一个fragment跳转到其它fragment,其它fragment变成了空白页的相关文章

Android 两个Fragment之间的跳转和数据的传递实例详解

Android  两个Fragment之间的跳转和数据的传递实例详解 作为一个Android的菜鸟,前些天在做项目的时候用到了fragment,需求是从一个Fragment跳转到另一个Fragment,并且还要传递数据,就像Activity的跳转一样.在网上找了好久都没找到很好的列子,最后通过看别人的博客和查文档终于做好了,现在整理一下,希望能帮助有需要的童鞋. 1.首先在第一个Fragment 里面拿到FragmentManger 和FragmentTransaction 代码如下. @Ove

在Fragment中添加了一个按钮跳转到activity,但是一按按钮就闪退,求大神指点!!!

问题描述 在Fragment中添加了一个按钮跳转到activity,但是一按按钮就闪退,求大神指点!!! 这是错误日志: 我已经在网络请求的部分新建了一个子线程了,那为什么还是点击按钮就闪退呢,下面是新建的子线程,求大神指点迷津!!! public abstract class MyTimerCheck { private int mCount = 0; private int mTimeOutCount = 1; private int mSleepTime = 1000; // 1s pri

fragment-从Fragment跳转到一个Activity,返回时,怎么回到原来先Fragment

问题描述 从Fragment跳转到一个Activity,返回时,怎么回到原来先Fragment 从Fragment跳转到一个Activity,返回时,怎么回到原来先Fragment并传输数据 解决方案 Fragment是的生命周期是依赖于Activity生存的,跟Activity差不多,我们可以从这个角度去思考试试, 在Activity中可以使用startActivityForResult实现参数的回调,你在Fragmnt中可以使用getActivity.startActivityForResu

android-安卓中fragment里面的一个按钮跳转到另一个activity,并且携带数据?

问题描述 安卓中fragment里面的一个按钮跳转到另一个activity,并且携带数据? 如题 安卓中fragment里面的一个按钮跳转到另一个activity,并且携带数据? 大家有什么办法吗 解决方案 getActivity().startActivity(intent,bundle); content.startActivity(intent,bundle); 解决方案二: Bundle bundle = new Bundle(); bundle.putInt("key",in

Android应用经典主界面框架之一:仿QQ (使用Fragment, 附源码)

最近反复研究日常经典必用的几个android app,从主界面带来的交互方式入手进行分析,我将其大致分为三类.今天记录第一种方式,即主界面下面有几个tab页,最上端是标题栏,tab页和tab页之间不是通过滑动切换的,而是通过点击切换tab页.早期这种架构一直是使用tabhost+activitygroup来使用,随着fragment的出现及google官方也大力推荐使用fragment,后者大有代替前者之势.本文也使用fragment进行搭建,标题中的"经典"指这种交互经典,非本文的代

Android开发小白日记2 (20 Apr) 关于Fragment

很早的时候开发android用的是2.2的SDK,当时界面就一个activity,可是前些日子重试android开发的时候,发现每次新建一个activity 在新建一个layout的同时,还会有一个非常相似地fragment layout,后来查了下资料,总算明白了在3.0之后,android的sdk就加入了fragment,用户单屏显示更多的布局. 下面的部分内容转载自:http://blog.csdn.net/guolin_blog/article/details/8881711 为什么要引

Android使用Fragment来实现ViewPager的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信

以下内容为原创,转载请注明:http://www.cnblogs.com/tiantianbyconan/p/3364728.html 我前两天写过一篇博客<Android使用Fragment来实现TabHost的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信>(http://www.cnblogs.com/tiantianbyconan/p/3360938.html),实现了Tab切换时保留当前Fragment状态,并在切换前自动回调onPause()方法,在切

android fragment-怎样在一个activity里面同时显示两个fragment?

问题描述 怎样在一个activity里面同时显示两个fragment? 我在linerlayout里面添加两个fragment标签,但是会报错?请问有没有实现过的?还是不能实现,原理是什么?谢谢! 解决方案 简单来说,你把碎片也当成控件来使用,就像你在布局控件再加入两个viewgroup,然后再把碎片当成两个活动进行加载,最后引入,注意排版. 报错的话我猜可能有以下情况. 布局错误,可能线性布局方向错了,碎片没法排版. 碎片没有定义,不管怎么引入碎片,都必须新建一个类继承碎片父类. 通信错误,碎

android项目出错-android项目中从一个Activity跳转到另外一个Activity发生空指针异常是什么原因造成的

问题描述 android项目中从一个Activity跳转到另外一个Activity发生空指针异常是什么原因造成的 android项目中从一个Activity跳转到另外一个Activity发生空指针异常是什么原因造成的 解决方案 具体得log信息啊.你把log 截取出来看看. 解决方案二: 你把logcat里的红字贴出来 解决方案三: 你把logcat里的红字贴出来 解决方案四: 你把logcat里的红字贴出来 解决方案五: 你把logcat里的红字贴出来