2015-12-25 2 views
0

Я хочу надуть фрагмент из активности (что не является основным, а является активностью).Надувание фрагмента из активности

я так же, как эта инструкция:

FragmentManager fragmentManager = getFragmentManager(); 
    FragmentTransaction fragmentTransaction = 
    fragmentManager.beginTransaction(); 

    YourFragment fragment = new YourFragment(); 
    fragmentTransaction.replace(android.R.id.content, fragment);//here is the error 
    fragmentTransaction.commit(); 

, но в одном до последней строки, редактор показывает ошибку говоря:


второго аргумент неправильно type.Found: max.mzf .max.fragment.Required: android.app.fragment


это мой собственный код:

активность

public class QuizCard extends FragmentActivity { 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.quiz_card); 
    FragmentManager fragmentManager = getFragmentManager(); 
    FragmentTransaction fragmentTransaction =  fragmentManager.beginTransaction(); 
    QcardFragment fragment = new QcardFragment(); 
    fragmentTransaction.replace(R.id.your_placeholder, fragment ); 
    fragmentTransaction.commit(); 
} 


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.card_menu, menu); 

    return true; 
} 

и это QcardFragment:


public class QcardFragment extends Fragment { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    //get data from Argument 
} 
public void onCardClick(View view) { 
    flipCard(); 
} 
private void flipCard() { 
    View rootLayout = (View) getActivity().findViewById(R.id.main_activity_root); 
    View cardFace = (View) getActivity().findViewById(R.id.main_activity_card_face); 
    View cardBack = (View) getActivity().findViewById(R.id.main_activity_card_back); 

    FlipAnimation flipAnimation = new FlipAnimation(cardFace, cardBack); 

    if (cardFace.getVisibility() == View.GONE) { 
     flipAnimation.reverse(); 
    } 
    rootLayout.startAnimation(flipAnimation); 

} 

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

} 

@Override 
public void onViewCreated(View view, Bundle savedInstanceState) { 
    super.onViewCreated(view, savedInstanceState); 


} 
} 

Что не так?

+0

этой проблемы была решено руководством @LUCIUS HIPAN в. – mohamad

ответ

1

Убедитесь, что ваш фрагмент класс extends Fragment из родной библиотеки Android. Если вы используете внешнюю попытку реализации изменить

FragmentManager fragmentManager = getFragmentManager();

к

FragmentManager fragmentManager = getSupportFragmentManager(); 
+0

@mohamad см. Мой P.S. –

+0

Я не мог ничего получить, может быть, я в замешательстве. – mohamad

+0

, пожалуйста, отправьте код QcardFragment или ссылку на него –

Смежные вопросы