2016-02-26 122 views
1

抽象類擴展了android.support.v4.app.Fragment,所以MyFragment可以做一些片段。但是擴展抽象類時,MyFragment不能轉換爲Fragment。 片段如何擴展抽象類?片段可以擴展一個抽象類嗎?

MainActivity.java

public class MainActivity extends AppCompatActivity{ 
    @Override 
    public boolean onNavigationItemSelected(MenuItem item) { 
     FragmentManager fm = getSupportFragmentManager(); 
     int id = item.getItemId(); 
     switch (id){ 
     case (R.id.nav_bin): 
      fm.beginTransaction().replace(R.id.fragment_content, new MyFragment()).commit(); 
      break; 
     ... 
     } 

     DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
     drawer.closeDrawer(GravityCompat.START); 
     return true; 
    } 

MyFragment.java

public class MyFragment extends BaseActivity implements ...{ 
    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View baseView = inflater.inflate(R.layout.fragment_content, container, false); 
     return baseView; 
    } 

} 

BaseActivity.java

public abstract class BaseActivity extends Fragment implements ...{ 
} 

回答

2

...BaseActivity extends Fragment...

首先,請不要使用本南公約 - 這是超級混亂。改爲嘗試BaseFragmentBaseActivity意味着它從Activity類延伸。其次,您的問題可能源於混合android.app.Fragment進口和android.support.v4.app.Fragment進口。確保您的BaseFragment課程正在導入android.support.v4.app.Fragment而不是android.app.Fragment

相關問題