在switch-case中有多个片段

时间:2015-09-18 17:22:14

标签: java android android-fragments fragment

我试图在交换机案例块中添加新片段。我使用相同的代码添加收件箱片段。但我有这个错误:

  

错误:(94,45)错误:找不到合适的方法   replace(int,ProfileFragment)方法   FragmentTransaction.replace(int,Fragment,String)不适用   (实际和形式的参数列表长度不同)方法   FragmentTransaction.replace(int,Fragment)不适用(实际   参数ProfileFragment无法通过方法转换为Fragment   调用转换)

我认为这个问题与图书馆有关,但我不知道如何修复它。

这是我的代码:

case R.id.home:
    //Toast.makeText(getApplicationContext(),"Home",Toast.LENGTH_SHORT).show();
    HomeFragment home = new HomeFragment();
    android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
    fragmentTransaction.replace(R.id.frame, home);
    fragmentTransaction.commit();
    return true;
case R.id.profilo:
    //Toast.makeText(getApplicationContext(),"Profilo",Toast.LENGTH_SHORT).show();
    ProfileFragment profilo = new ProfileFragment();
    android.support.v4.app.FragmentTransaction fragmentTransaction1 = getSupportFragmentManager().beginTransaction();
    fragmentTransaction1.replace(R.id.frame, profilo);
    fragmentTransaction1.commit();
    return true;

请帮帮我!

2 个答案:

答案 0 :(得分:0)

检查片段类中的导入是否已导入

import android.support.v4.app.Fragment;

import android.app.Fragment;

在您的情况下,您应该导入android.support.v4.app.Fragment;

答案 1 :(得分:0)

问题可能是因为您从android.app.fragment导入了片段。尝试从支持库导入。 (import android.support.v4.app.Fragment)