0

在Android Studio中,我試圖從我的導航抽屜內打開一個新的片段,使用該方法發現here的Android導航抽屜片段 - 不兼容的類型

不幸的是我得到下面的方法錯誤:

@Override 
public void onNavigationDrawerItemSelected(int position) { 
    // update the main content by replacing fragments 
    Fragment fragment; 
    FragmentManager fragmentManager = getSupportFragmentManager(); 
    if(position==1) { 
     fragment = new BlankFragment(); // This is where it fails with incompatible types 
     fragmentManager.beginTransaction() 
       .replace(R.id.container, fragment) 
       .commit(); 
    }else{ 

     fragment = PlaceholderFragment.newInstance(position +1); 
     fragmentManager.beginTransaction() 
       .replace(R.id.container, fragment) 
       .commit(); 
    } 
} 

至於我使用的支架型進口:

import android.support.v4.app.FragmentTransaction; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentManager; 

我BlankFragment類擴展片段:

public class BlankFragment extends Fragment { ... } 

問題是,行:fragment = new BlankFragment();與消息失敗:

「不兼容類型」

+0

檢查您是否在所有課程中使用v4.Fragment版本。 –

+0

請發佈您的LogCat。 – JanithaR

回答

2

你在BlankFragment進口android.support.v4.app.Fragment

否則,您正在嘗試將常規片段添加到SupportFragmentManager。我多次犯了這個錯誤,而且一開始很難找到。

+0

顯然這是問題所在。 謝謝 – JPJens