在Dialog类或自定义类中使用View类成员变量的方法

如果需要在CDialog类中使用View类的成员变量,有以下方法可以实现(以CSceneView为例):

 

方法一(使用全局变量):

如下:

1.       Dialog1.hclass CDialog定义之前,加上:extern CSceneView* pView;

2.       Dialog1.h中包含头文件:#include "SceneDoc.h"#include "SceneView.h"

3.       Dialog.cppclass CDialog实现之前,加上: CSceneView* pView;

4.       SceneView.cpp中包含Dialog类的头文件:#include "Dialog1.h"

5.       CSceneView类的构造函数中加入:pView=this;

 

方法二(直接定义View类的指针)

如下:

1.       SceneView.h中将构造函数的属性由protected改为public

2.       Dialog1.h中包含头文件:#include "SceneDoc.h"#include "SceneView.h"

3.       Dialog1.h定义public成员变量CSceneView* pView;

4.       CDialog类的构造函数中加入pView=new CSceneView;pView=new CSceneView();

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以按照以下步骤自定义一个弹窗: 1. 在Activity中重写onCreateDialog()方法,返回一个Dialog对象。 2. 在Dialog对象的构造函数中设置弹窗的样式、布局和监听事件。 3. 在Activity中调用showDialog()方法显示弹窗。 以下是示例代码: ```java public class MainActivity extends AppCompatActivity { private static final int DIALOG_CUSTOM = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 显示自定义弹窗 showDialog(DIALOG_CUSTOM); } @Override protected Dialog onCreateDialog(int id) { switch (id) { case DIALOG_CUSTOM: // 创建自定义弹窗 Dialog dialog = new Dialog(this); dialog.setContentView(R.layout.dialog_custom); dialog.setTitle("自定义弹窗"); // 设置按钮的监听事件 Button btnOk = dialog.findViewById(R.id.btn_ok); btnOk.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 处理确定按钮的点击事件 Toast.makeText(MainActivity.this, "点击了确定按钮", Toast.LENGTH_SHORT).show(); dismissDialog(DIALOG_CUSTOM); } }); Button btnCancel = dialog.findViewById(R.id.btn_cancel); btnCancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 处理取消按钮的点击事件 Toast.makeText(MainActivity.this, "点击了取消按钮", Toast.LENGTH_SHORT).show(); dismissDialog(DIALOG_CUSTOM); } }); return dialog; } return super.onCreateDialog(id); } } ``` 在上面的代码中,我们创建了一个自定义弹窗,并设置了确定和取消按钮的点击事件。在Activity的onCreate()方法中,调用showDialog()方法显示弹窗。当用户点击按钮时,弹窗会被关闭。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值