2015-10-29 59 views
0

我有“孩子已经有父母”错误接近许多人已经得到,但是,我得到它做不同的事情(尽可能我的搜索显示了我)。我假设我添加片段的方式不一定是错误的,但是我不能为我的生活弄清楚我添加的片段是如何拥有父项的。不能启动片段:指定的孩子已经有父母

我从我的主要活动启动使用片段加载到FrameLayout。这里是从的onCreate我的主要活动:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    realm = Realm.getDefaultInstance(); 

    if (savedInstanceState == null) { 

    } 

    tripsFragment = new CarTripsOverview(); 
    getSupportFragmentManager().beginTransaction().add(R.id.content_container, tripsFragment).commit(); 
} 

这里是这对CarTripsOverview(这是一个片段)运行方式:

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

    if (getArguments() != null) { 

    } 

    setUpRealm(); 
} 

void setUpRealm() { 
    realm = Realm.getDefaultInstance(); 
    RealmQuery<Car> carQuery = realm.where(Car.class); 
    RealmResults<Car> carResults = carQuery.findAll(); 
    carAdapter = new CarArrayAdapter(getActivity(),0, carResults, true); 

    RealmQuery<Trip> tripQuery = realm.where(Trip.class); 
    RealmResults<Trip> tripResults = tripQuery.findAll(); 
    tripAdapter = new TripAdapterRealm(getActivity(), 0, tripResults, true); 
} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.fragment_car_trips_overview, container, true); 

    // Bind all of the views with Butter Knife 
    ButterKnife.bind(this, view); 

    setUpSwipeMenu(); 

    // Add my event listeners 
    tripListView.setAdapter(tripAdapter); 

    carSpinner.setAdapter(carAdapter); 

    return view; 
} 

void setUpSwipeMenu() { 
    SwipeMenuCreator creator = new SwipeMenuCreator() { 
     @Override 
     public void create(SwipeMenu menu) { 
      SwipeMenuItem deleteItem = new SwipeMenuItem(getContext()); 
      deleteItem.setBackground(new ColorDrawable(Color.RED)); 
      deleteItem.setWidth(MathHelper.dipToPixels(getContext(), 90)); 
      deleteItem.setTitle("Delete"); 
      deleteItem.setTitleColor(Color.WHITE); 
      deleteItem.setTitleSize(18); 
      menu.addMenuItem(deleteItem); 
     } 
    }; 

    tripListView.setMenuCreator(creator); 

    tripListView.setOnMenuItemClickListener(new SwipeMenuListView.OnMenuItemClickListener() { 
     @Override 
     public boolean onMenuItemClick(int position, SwipeMenu menu, int index) { 
      Trip trip = tripAdapter.getItem(position); 
      switch (index) { 
       case 0: 
        delete(trip); 
        tripAdapter.notifyDataSetChanged(); 
        break; 
      } 
      return false; 
     } 
    }); 
} 

我最大的问题是,我只是不明白就在我将孩子添加到父母的地方,那里已经有了父母。

我所有的源代码都可以找到here

回答

1

相反的:

View view = inflater.inflate(R.layout.fragment_car_trips_overview, container, true); 

使用:

View view = inflater.inflate(R.layout.fragment_car_trips_overview, container, false); 

通知的最后一个参数是false现在。如果您使用true,您刚刚创建的视图将自动添加到容器(第二个充气参数)。对于片段,请在onCreateView(...)中始终使用false

相关问题