I do everything according to the book, code:
MainActivity:
public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Fragment frag = getFragmentManager().findFragmentById(R.id.detail_frag); DetailFragment frag = (DetailFragment)getFragmentManager().findFragmentById(R.id.detail_frag); frag.setWorkout(1); } }
DetailFragment: (this is another file class)
public class WorkoutDetailFragment extends Fragment { private long workoutId; public WorkoutDetailFragment() { // Required empty public constructor } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_workout_detail, container, false); } public void setWorkout(long id){ this.workoutId = id; } }
On -
WorkoutDetailFragment frag = (WorkoutDetailFragment)getFragmentManager().findFragmentById(R.id.detail_frag);
Text - Error: (16, 84) error: incompatible types: Fragment cannot be converted to WorkoutDetailFragment