2016-07-09 3 views
1
package com.androidnik.tourguide; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 

public class MustVisit extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_category); 
    getSupportFragmentManager().beginTransaction().replace(R.id.container, new MustVisitFragment()).commit(); 
} 

им получать эту ошибку: Ошибка: (12, 80) ошибки: несовместимые типов: MustVisitFragment не может быть преобразована в фрагментировать я расширил этот класс фрагмента в классе MyVisitFragment, а также иметь пустой конструктор еще im сталкиваются с этой проблемойПроблемы с транзакцией фрагмента

+1

Возможный дубликат [несовместимых типов: HomeFragment не может быть преобразован в Фрагмент в Android] (http://stackoverflow.com/questions/27037662/incompatible-types-homefragment-cannot-be-converted-to-fragment-in- android) – Ironman

+0

Удалось ли вам это исправить? – Vucko

ответ

1

Проблема, с которой вы сталкиваетесь, связана с несовместимостью между android.app.Fragment и support.v4.Fragment. Эти два не совпадают, и у каждого есть свои FragmentManager, с которыми они работают.

Вы используете getSupportFragmentManager, что означает, что ваш фрагмент должен распространяться на support.v4.Fragment (проверьте импорт и измените это). Либо измените это, либо получите другого менеджера фрагментов, вызвав getFragmentManager.

Я лично предложил бы работать с библиотекой поддержки, поскольку в одном из моих проектов это оказалось хорошим для меня, в то время как у меня были проблемы с другим, но это чисто мое мнение.

+0

Я использовал импорт v4, но я не думаю, что он использует импорт, поскольку импорт v4 выделен серым цветом, и alos я установил свой min sdk на 23 –

+1

Это не имеет значения. Удалите импорт «android.app.Fragment» и оставьте только «support.v4.Fragment». Сделайте это в своем 'MustVisitFragment' – Vucko

0

Заменить android.R.id.content с R.id.container

0

Добавить импорт:

import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentTransaction; 

будет решить вашу проблему.

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