Android 在碎片活动中使用什么代替startActivity(意向)?

Android 在碎片活动中使用什么代替startActivity(意向)?,android,android-fragments,android-intent,onclicklistener,android-fragmentactivity,Android,Android Fragments,Android Intent,Onclicklistener,Android Fragmentactivity,出于某些原因,在FragmentActivity中,startActivity不起作用,当我单击按钮时,它会使应用程序崩溃,并出现以下错误: java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.name.app/com.example.name.app.WorldTabBar}: java.lang.ClassCastException: com.example.name.app

出于某些原因,在FragmentActivity中,startActivity不起作用,当我单击按钮时,它会使应用程序崩溃,并出现以下错误:

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.name.app/com.example.name.app.WorldTabBar}: java.lang.ClassCastException: com.example.name.app.WorldTabBar cannot be cast to android.app.Activity
这是我的密码:

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback{

Button live;

private GoogleMap mMap;

@Override
protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps);

final SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);


live=findViewById((R.id.GoToLive));

live.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View view) {

             Intent startIntent = new Intent(MapsActivity.this, WorldTabBar.class);
              startActivity(startIntent);                  
        }
    });
startActivity使应用程序在碎片活动中崩溃。FragmentActivity不允许我使用getActivity,因为我只是应该使用它。但这不适用于startActivity

我尝试使用just extends Fragment代替FragmentActivity,并使用rootView将onCreate更改为onCreateView方法,然后添加getActivity everywhere和

getActivity().startActivity(startIntent);  //<-didn't work, crashes again
…^上面的代码在没有startActivity的情况下可以自己工作,但我认为如果没有开始代码,现在我的overridePendingTransition代码无法识别。那么,是否有一些代码可以在片段活动中使用,它们的工作原理类似于startActivity,但不是startActivity

编辑:

WorldTabBar类:

   public class WorldTabBar extends Fragment {


    Button world;

   @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.activity_world_tabbar, container, false);




    world=rootView.findViewById(R.id.GoToWorld);
            world.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {

                     Intent startIntent = new Intent(getContext(), MapsActivity.class);
                     startActivity(startIntent);

     getActivity().overridePendingTransition(R.anim.slide_in_right, R.anim.no_anim);

                     }
            });

    return rootView;
    }


    }
java.lang.ClassCastException:com.example.name.app.WorldTabBar不能强制转换为android.app.Activity

您的WorldTabBar扩展了片段,而不是活动类

1您需要添加活动,然后向其中添加WorldTabBar片段

例如,创建WorldTabBarActivity extends活动,在使用此活动时将其注册到清单上:

Intent startIntent = new Intent(MapsActivity.this, WorldTabBarActivity.class);
使用此处描述的XML将片段添加到活动的选项之一:。另一个选项-在运行时添加片段-

2更改代码以使其成为活动:

public class WorldTabBar extends AppCompatActivity {

您可以添加WorldTabBar的代码吗?它扩展了哪个类?我在代码中添加了WorldTabBar类。如果您想从活动类开始片段,请查看以下链接:。这可能对你有帮助。那我该换什么呢?
Intent startIntent = new Intent(MapsActivity.this, WorldTabBarActivity.class);
public class WorldTabBar extends AppCompatActivity {