Android 对话框源应该如何在应用程序中组织?

发布于 2025-01-08 06:30:32 字数 142 浏览 2 评论 0原文

我的应用程序包含许多对话框窗口。已经到了源头似乎压倒性的地步。我正在寻找有关隔离 Dialog 源的最佳方法的意见。我对 Java 比较陌生,所以我假设我可以将它们放在一个单独的类中。然而,在 Android 中执行此操作的确切方法暗示了我。有人可以指出我正确的方向吗?

My application contains many Dialog windows. It has gotten to the point that the source seems overwhelming. I am looking for opinions about the best way to segregate Dialog source. I am relatively new to Java, so I am assuming that I can put them in a separate class. However, the exact way to do this in Android alludes me. May someone point me in the right direction?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

醉城メ夜风 2025-01-15 06:30:32

你可以通过如下扩展对话来创建对话
1. 为customDialog创建Layout.xml
创建一个包含视图的新布局。在此示例中,我使用了 edittext 和按钮。

<?xml version="1.0" encoding="utf-8"?>

<EditText android:id="@+id/EditText01" android:layout_height="wrap_content" android:text="Enter your name" android:layout_width="250dip"></EditText>

<Button android:id="@+id/Button01" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:text="click"></Button>

  1. 创建自定义对话框类。
    一个。创建一个类扩展对话框类
    b.作为成员创建事件处理程序接口
    c.在 onCreate 方法中使用自定义布局。

    public class MyCustomDialog 扩展 Dialog {
    
    公共接口 ReadyListener {
        公共无效准备好(字符串名称);
    }
    
    私有字符串名称;
    私有 ReadyListener 就绪监听器;
    编辑文本名称;
    
    公共MyCustomDialog(上下文上下文,字符串名称, 
            就绪监听器 就绪监听器) {
        超级(上下文);
        this.name = 名称;
        this.readyListener = 就绪监听器;
    }
    
    @覆盖
    公共无效 onCreate(捆绑保存实例状态){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mycustomdialog);
        setTitle("请输入你的名字");
        按钮buttonOK = (Button) findViewById(R.id.Button01);
        buttonOK.setOnClickListener(new OKListener());
        etName = (EditText) findViewById(R.id.EditText01);
    }
    
    私有类 OKListener 实现 android.view.View.OnClickListener {
        @覆盖
        公共无效onClick(查看v){
            readyListener.ready(String.valueOf(etName.getText()));
            MyCustomDialog.this.dismiss();
        }
    }
    

    }

  2. 创建 MainActivity 并实现 CustomDialog

    公共类MainActivity扩展了Activity {
    /** 首次创建活动时调用。 */
    @覆盖
    公共无效 onCreate(捆绑保存实例状态){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    MyCustomDialog myDialog = new MyCustomDialog(这个, "",
    新的 OnReadyListener());
    myDialog.show();
    }
    私有类 OnReadyListener 实现 MyCustomDialog.ReadyListener {
    @覆盖
    公共无效准备好(字符串名称){
    Toast.makeText(MainActivity.this, 名称, Toast.LENGTH_LONG).show();
    }
    }
    }

u can create dialogue by extending dialogue as follows
1. Create a Layout.xml for customDialog
Create a new layout which contains the view. in this example i have used edittext and button.

<?xml version="1.0" encoding="utf-8"?>

<EditText android:id="@+id/EditText01" android:layout_height="wrap_content" android:text="Enter your name" android:layout_width="250dip"></EditText>

<Button android:id="@+id/Button01" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:text="click"></Button>

  1. Create a Custom Dialog Class.
    a. Create a class extends the dialog class
    b. Create a Event Handler Interface as a member
    c. Use the custom layout in onCreate Method.

    public class MyCustomDialog extends Dialog {
    
    public interface ReadyListener {
        public void ready(String name);
    }
    
    private String name;
    private ReadyListener readyListener;
    EditText etName;
    
    public MyCustomDialog(Context context, String name, 
            ReadyListener readyListener) {
        super(context);
        this.name = name;
        this.readyListener = readyListener;
    }
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mycustomdialog);
        setTitle("Enter your Name ");
        Button buttonOK = (Button) findViewById(R.id.Button01);
        buttonOK.setOnClickListener(new OKListener());
        etName = (EditText) findViewById(R.id.EditText01);
    }
    
    private class OKListener implements android.view.View.OnClickListener {
        @Override
        public void onClick(View v) {
            readyListener.ready(String.valueOf(etName.getText()));
            MyCustomDialog.this.dismiss();
        }
    }
    

    }

  2. Create a MainActivity and Implement the CustomDialog

    public class MainActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    MyCustomDialog myDialog = new MyCustomDialog(this, "",
    new OnReadyListener());
    myDialog.show();
    }
    private class OnReadyListener implements MyCustomDialog.ReadyListener {
    @Override
    public void ready(String name) {
    Toast.makeText(MainActivity.this, name, Toast.LENGTH_LONG).show();
    }
    }
    }

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文