I have
public class ItemDetailFragment extends RoboFragment
and I try to create it from another activity:
public class ItemDetailActivity extends RoboFragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_item_detail);
// Show the Up button in the action bar.
getActionBar().setDisplayHomeAsUpEnabled(true);
// savedInstanceState is non-null when there is fragment state
// saved from previous configurations of this activity
// (e.g. when rotating the screen from portrait to landscape).
// In this case, the fragment will automatically be re-added
// to its container so we don't need to manually add it.
// For more information, see the Fragments API guide at:
//
// http://developer.android.com/guide/components/fragments.html
//
if (savedInstanceState == null) {
// Create the detail fragment and add it to the activity
// using a fragment transaction.
// Bundle arguments = new Bundle();
// arguments.putString(ItemDetailFragment.ARG_ITEM_ID,
// getIntent().getStringExtra(ItemDetailFragment.ARG_ITEM_ID));
ItemDetailFragment fragment = new ItemDetailFragment();
//fragment.setArguments(arguments);
getFragmentManager().beginTransaction()
.add(R.id.item_detail_container, fragment)
.commit();
fragment.init(getApplicationContext());
}
}
but i get this error:
Error:(45, 21) Gradle: error: no suitable method found for add(int,ItemDetailFragment)
method FragmentTransaction.add(int,Fragment,String) is not applicable
(actual and formal argument lists differ in length)
method FragmentTransaction.add(int,Fragment) is not applicable
(actual argument ItemDetailFragment cannot be converted to Fragment by method invocation conversion)
method FragmentTransaction.add(Fragment,String) is not applicable
(actual argument int cannot be converted to Fragment by method invocation conversion)
From what I can see, RoboFragmentActivity
extends android.support.v4.app.FragmentActivity
from the support libraries.
I think you should call getSupportFragmentManager()
instead of getFragmentManager()
.