我收到的错误是: 第二辩驳类型错误。找到:“ com.example.appname.MainmenuFragment”,必需:“ android.support.v4.app.Fragment” 顺便说一句,我知道有人问过类似的问题,但是这种情况略有不同,因为此代码是在MainmenuActivity中编写的,它是一个活动而不是一个片段,而MainmenuFragment是一个顾名思义的片段。今天早上工作了。我今天进行了很多探索,但最终遇到了这个异常错误。这是我收到错误的代码:
public class MainmenuActivity extends AppCompatActivity {
private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
= new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
switch (item.getItemId()) {
case R.id.navigation_mainmenu:
transaction.replace(R.id.container, new MainmenuFragment()).commit();
return true;
}
return false;
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mainmenu);
BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(R.id.container, new MainmenuFragment()).commit();
}}
线
transaction.replace(R.id.container, new MainmenuFragment()).commit();
和
transaction.replace(R.id.container, new MainmenuFragment()).commit();
是我得到错误的地方。老实说,如果我尝试使用其他片段文件而不是Mainmenu_Fragment,它将可以很好地工作。
答案 0 :(得分:1)
您可能在android.app.Fragment
中使用android.support.v4.app.Fragment
而不是MainmenuFragment
答案 1 :(得分:1)
问题可能是由于getSupportFragmentManager()
引起的。尝试将其更改为getFragmentManager()
。