Lio*_*ior 31 java android android-fragments
我在这段代码中遇到错误:
private void displayView(int position) {
// update the main content by replacing fragments
Fragment fragment = null;
switch (position) {
case 0:
fragment = new HomeFragment();
break;
case 1:
fragment =new FindPeopleFragment();
break;
case 2:
fragment = new PhotosFragment();
break;
case 3:
fragment = new CommunityFragment();
break;
case 4:
fragment = new PagesFragment();
break;
case 5:
fragment = new WhatsHotFragment();
break;
default:
break;
}
if (fragment != null) {
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.frame_container, fragment).commit();
// update selected item and title, then close the drawer
mDrawerList.setItemChecked(position, true);
mDrawerList.setSelection(position);
setTitle(navMenuTitles[position]);
mDrawerLayout.closeDrawer(mDrawerList);
} else {
// error in creating fragment
Log.e("MainActivity", "Error in creating fragment");
}
}
Run Code Online (Sandbox Code Playgroud)
我明白了
错误:不兼容的类型:HomeFragment无法转换为Fragment
这是进口:
package liorsiag.lgbt;
import android.app.FragmentManager;
import android.content.res.Configuration;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.support.v4.app.ActionBarDrawerToggle;
import android.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.widget.DrawerLayout;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import java.util.ArrayList;
Run Code Online (Sandbox Code Playgroud)
这是班级标题:
public class MainActivity extends FragmentActivity {
private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
private ActionBarDrawerToggle mDrawerToggle;
Run Code Online (Sandbox Code Playgroud)
无论我尝试过什么,我仍然会遇到这个错误
我已经尝试了很多导航抽屉教程,但它们似乎都没有用.
zoz*_*lfo 71
这似乎是一个import问题.
使用时getFragmentMangager(),请确保您的Fragment类扩展了android.app.Fragment类.
万一你正在使用android.support.v4.app.Fragment(请参见进口),那么你需要使用getSupportFragmentManager()替代
希望能帮助到你
小智 10
尝试改变
import android.app.Fragment;
至
import android.support.v4.app.Fragment;
对于所有其他导入,也使用该支持库中的类.另外getSupportFragmentManager()如其他答案所述.
| 归档时间: |
|
| 查看次数: |
55745 次 |
| 最近记录: |