将活动显示为对话框[重复]

Posted

技术标签:

【中文标题】将活动显示为对话框[重复]【英文标题】:Showing an activity as a dialog [duplicate] 【发布时间】:2020-01-13 21:51:42 【问题描述】:

这是我想成为对话的活动:

public class TrainerBookingDialogActivity extends AppCompatActivity 

        @Override
        protected void onCreate(Bundle savedInstanceState) 
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_trainer_booking_dialog);

    



  <activity android:name="com.clearmindai.trainer.module.bookdialog.TrainerBookingDialogActivity"
            android:theme="@android:style/Theme.Holo.Light.Dialog"></activity>

我这样称呼它:

  public static  void showBookedDialog(Context context) 
        Intent intent=new Intent(getApplicationContext(), TrainerBookingDialogActivity.class);
        context.startActivity(intent);
        //show dialog
    

但错误告诉我:

您需要使用 Theme.AppCompat 主题(或后代) 活动。

【问题讨论】:

将您的活动背景设置为透明,并在您想要显示 UI 的位置添加布局。 它显示错误。 因为你使用的是AppCompatActivity,所以使用AppCompatActivity你需要使用AppCompat主题。 ' 只需将Theme.Holo.Light.Dialog 更改为Theme.AppCompat.Light.Dialog 【参考方案1】:

试试这个代码

public class MyCustomDialogFragment extends DialogFragment 
@Override
public void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
 
 @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle s 
 avedInstanceState) 
    View v = inflater.inflate(R.layout.fragment_my_custom_dialog, container, false); 
   // Do all the stuff to initialize your custom view

    return v;
 

请查看此链接click here

【讨论】:

java.lang.RuntimeException:无法实例化活动 ComponentInfocom.clearmindai.trainer/com.clearmindai.trainer.module.bookdialog.TrainerBookingDialogActivity:java.lang.ClassCastException:com.clearmindai.trainer .module.bookdialog.TrainerBookingDialogActivity 无法转换为 android.app.Activity 请分享完整代码

以上是关于将活动显示为对话框[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将活动显示为对话框时如何自定义宽度和高度

将片段显示为对话框或常规活动

显示没有褪色背景的对话框[重复]

将字符串从对话框片段返回到活动 [重复]

将 Android DialogFragment 显示为纵向模式下的对话框和横向模式下的活动的一部分

何时显示对话框[重复]