替换现有的片段android

时间:2013-12-04 10:56:49

标签: android android-fragments replace

我是android生态系统的新手,请帮我这个应用程序是我的大学项目。我使用5个片段创建了带有5个标签的滑动标签,所有内容(来回滑动)都运行良好。在我的第一个标签(第一个片段)中,我有按钮,当点击进入其他片段(这个片段不在用于标签的5个片段中)我试图使用ft.replace()来执行此操作,但不幸的是现在当单击按钮我被定向到'空白页'这不是我想要的片段 - 实际上这个页面根本不是我的代码。下面是我尝试启动新片段的Tab1的代码。请告诉我我的代码中的问题在哪里。

import android.app.Activity;
import com.example.hfacs.R;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
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.ViewGroup;
import android.widget.Button;
import android.view.View.OnClickListener;


public class Unsafe extends Fragment  {
@Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.unsafe, container, false);
    return v;
}

public void onActivityCreated(Bundle savedInstanceState){
    super.onActivityCreated(savedInstanceState);
    final Button button1 = (Button) getActivity().findViewById(R.id.u1);
    button1.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
        final android.support.v4.app.FragmentTransaction ft =        
        getFragmentManager().beginTransaction();
            ft.replace(R.id.pager, new Unsafe1());
            ft.commit();
        }
    });

   }



 }

这是我的页面适配器代码

import com.example.hfacs.Unsafe;
import com.example.hfacs.Precondition;
import com.example.hfacs.Supervision;
import com.example.hfacs.Organization;
import com.example.hfacs.Summary;
import com.example.hfacs.Unsafe1;

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

public class TabsPageAdapter extends FragmentPagerAdapter {

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


@Override
public Fragment getItem(int index){
switch (index){
    case 0:
        return new Unsafe();
    case 1:
        return new Precondition();
    case 2:
        return new Supervision();
    case 3:
        return new Organization();
    case 4:
        return new Summary();



}
return null;
}
@Override
public int getCount() {
    return 5;
}}

0 个答案:

没有答案