Android 如何通过按AlertDialog.Builder(即Builder.setNegativeButton)的按钮从活动转到片段

Android 如何通过按AlertDialog.Builder(即Builder.setNegativeButton)的按钮从活动转到片段,android,android-fragments,classcastexception,activitynotfoundexception,Android,Android Fragments,Classcastexception,Activitynotfoundexception,当我按下“否”(即AlertDialog.builder的builder.setNegative按钮)时,会出现一个错误: 02-02 22:05:44.360: E/AndroidRuntime(18022): FATAL EXCEPTION: main 02-02 22:05:44.360: E/AndroidRuntime(18022): android.content.ActivityNotFoundException: Unable to find explicit activity

当我按下“否”(即AlertDialog.builder的builder.setNegative按钮)时,会出现一个错误:

02-02 22:05:44.360: E/AndroidRuntime(18022): FATAL EXCEPTION: main
02-02 22:05:44.360: E/AndroidRuntime(18022): android.content.ActivityNotFoundException:
 Unable to find explicit activity class {com.mamun.tasktest/com.mamun.tasktest
 .FragmentB}; have you declared this activity in your AndroidManifest.xml?
当我在清单中添加FragmentB时,也会出现另一个错误:

02-02 22:20:34.030: E/AndroidRuntime(18671): FATAL EXCEPTION: main
02-02 22:20:34.030: E/AndroidRuntime(18671): java.lang.RuntimeException: Unable to
 instantiate activity ComponentInfo{com.mamun.tasktest/com.mamun.tasktest
 .FragmentB}: java.lang.ClassCastException: com.mamun.tasktest.FragmentB cannot be
 cast to android.app.Activity
MapActivity.java:

package com.mamun.tasktest;

    import android.app.Activity;
    import android.app.AlertDialog;
    import android.content.DialogInterface;
    import android.content.Intent;
    import android.location.LocationManager;
    import android.os.Bundle;
    import android.provider.Settings;



    public class MapActivity extends Activity{

        private  LocationManager manager;


        @Override
        protected void onCreate(Bundle savedInstanceState) {
            manager = (LocationManager)getSystemService(LOCATION_SERVICE);
            super.onCreate(savedInstanceState);


            if(manager.isProviderEnabled(LocationManager.GPS_PROVIDER)){
            setContentView(R.layout.map);
            }





            else if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
                  AlertDialog.Builder builder = new AlertDialog.Builder(this);
                  builder.setTitle("GPS is currently disabled");
                  builder.setMessage("Please enable it to select location.\nWould you like to change these settings now?");
                  builder.setPositiveButton("Yes",
                      new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                          Intent i = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
                          startActivity(i);

                          setContentView(R.layout.map);
                        }

                      });

                  builder.setNegativeButton("No",
                      new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Intent in = new Intent(MapActivity.this,FragmentB.class);
                             startActivity(in); 

                        }
                      });
                  builder.create().show();


                }
        }
        }
FragmentB.java


您不能在=新意图(MapActivity.this,FragmentB.class)中执行
Intent因为
片段
不是
活动
并且不能以这种方式运行新片段。

片段不是活动!你不能在舱单上申报。您应该使用碎片活动。

您尝试过这种方法吗

FragmentManager fragmentManager = getSupportFragmentManager();
PropertiesActivity propertiesActivity = new PropertiesActivity();

fragmentManager.beginTransaction().replace(R.id.Main_content,propertiesActivity).commit();

“当我按“否”时,它会给我一个错误。”。。。假设什么?我已经编辑了我的问题,请看@Toborb,但是我如何运行一个新的片段请告诉我@Jedilyo你必须创建一个包含这个片段的新活动吗,查看此项了解更多信息。
FragmentManager fragmentManager = getSupportFragmentManager();
PropertiesActivity propertiesActivity = new PropertiesActivity();

fragmentManager.beginTransaction().replace(R.id.Main_content,propertiesActivity).commit();