【问题标题】:multiple fragment in switch-case开关盒中的多个片段
【发布时间】:2015-09-19 01:50:53
【问题描述】:

我正在尝试在 switch case 块中添加新片段。我使用相同的代码添加收件箱片段。但我有这个错误:

错误:(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;

请帮帮我!

【问题讨论】:

  • 检查 Fragment 相关类的导入。一切都必须来自支持库或原生支持

标签: java android android-fragments fragment


【解决方案1】:

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

import android.support.v4.app.Fragment;

import android.app.Fragment;

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

【讨论】:

  • 嗨,感谢您的回答。反正我不解决问题。现在我发布所有主要活动pastebin.com/HFwZ4qvD
【解决方案2】:

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

【讨论】:

  • 谢谢我解决了。问题出在一个片段中:S 请提出另一个问题。启动应用程序时如何将特定片段设置为默认值?
  • 只需为您的开关添加一个默认大小写。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-30
  • 1970-01-01
  • 2015-10-27
  • 2012-04-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多