Java 在提供不可转换类型的片段中类型强制转换getActivity

Java 在提供不可转换类型的片段中类型强制转换getActivity,java,android,android-fragments,Java,Android,Android Fragments,启动活动:主活动, FragmentLaunch活动:Fragmandler(带有视图寻呼机和选项卡), 片段活性:Frag1 Error: FragHanlder can not be cast to Mainactivity 按照指南使用代码: new ColorChooserDialog.Builder((MainActivity)getActivity(),R.string.color_palette) .titleSub(R.string.c

启动活动:主活动, FragmentLaunch活动:Fragmandler(带有视图寻呼机和选项卡), 片段活性:Frag1

Error: FragHanlder can not be cast to Mainactivity
按照指南使用代码:

 new ColorChooserDialog.Builder((MainActivity)getActivity(),R.string.color_palette)
                    .titleSub(R.string.colors)
                    .preselect(startuppri)
                    .show();
下面是在片段中导入的分类

import android.support.v4.app.Fragment;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.AlertDialog;
import android.support.v7.preference.PreferenceManager;

您需要使用父活动而不是片段键入cast

new ColorChooserDialog.Builder((YourActivity)getActivity, R.string.color_palette)
                        .titleSub(R.string.colors)
                        .preselect(startuppri)
                        .show();

哦,这就是你遇到的问题吗


我之前尝试过使用新的ColorChooserDialog.Builder(getActivity(),R.string.color_palette).titleSub(R.string.colors).预选(startuppri).show();为了完整性起见,getActivity是一个方法调用,只需这样使用;)所以,如果我有在应用程序加载时调用的Mainactivity。FragHandler活动,使用viewpager处理选项卡下的片段。然后我必须使用Mainactivity进行类型转换,对吗?使用您的输入,编译时出错,但当我调用方法时,它再次给出相同的错误,即FragHandler无法将其转换为Mainactivity。这是生成器类的构造函数。public Builder(@NonNull ActivityType context,@StringRes int title){mContext=context;mTitle=title;}为什么要进行分析,请尝试直接发送getacvity()是,同样的问题。我正试图得到它。感谢您在这里挑选和放置。但解决方案不起作用。我收到错误Frag1无法转换为mainActivity,该
Activity
包含您的
片段