如何添加TextView的和使用的EditText默认AlertDialog编程 [英] How to add TextView and EditText using default AlertDialog programmatically

查看:333
本文介绍了如何添加TextView的和使用的EditText默认AlertDialog编程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直想在默认AlertDialog添加两个元素,但我似乎无法使它工作。这里是我的code:

  //启动对话框
    AlertDialog.Builder alertDialogBu​​ilder =新AlertDialog.Builder(本);    TextView的电视=新的TextView(本);
    tv.setText(职称);
    tv.setPadding(40,40,40,40);
    tv.setGravity(Gravity.CENTER);
    tv.setTextSize(20);    等的EditText =新的EditText(本);
    。etStr = et.getText()的toString();    alertDialogBu​​ilder.setView(等);
    alertDialogBu​​ilder.setTitle(职称);
    alertDialogBu​​ilder.setMessage(输入学号);
    alertDialogBu​​ilder.setCustomTitle(电视);    如果(ISERROR)
        alertDialogBu​​ilder.setIcon(R.drawable.icon_warning);
    // alertDialogBu​​ilder.setMessage(消息);
    alertDialogBu​​ilder.setCancelable(假);    //设置负取消按钮
    alertDialogBu​​ilder.setNegativeButton(取消,新DialogInterface.OnClickListener(){
        公共无效的onClick(DialogInterface对话,诠释whichButton){
            dialog.cancel();
        }
    });    //设置正是按钮
    alertDialogBu​​ilder.setPositiveButton(OK,
            新DialogInterface.OnClickListener(){
                公共无效的onClick(DialogInterface对话,诠释它){
                    如果(ISERROR)
                        完();
                    其他{
                        意向意图=新意图(
                                ChangeDeviceActivity.this,
                                MyPageActivity.class);
                        startActivity(意向);
                    }
                }
            });    AlertDialog alertDialog = alertDialogBu​​ilder.create();    尝试{
        alertDialog.show();
    }赶上(例外五){
        //窗口管理$ BadTokenException将被捕获和应用程序会
        //不显示'强制关闭的消息
        e.printStackTrace();
    }

目前,这仅仅是一个的EditText alertDialogBu​​ilder.setMessage(输入学号)成立的消息; ,但我想使这个的TextView 这样我就可以居中证明它。我该怎么做呢?


解决方案

  AlertDialog.Builder alertDialogBu​​ilder =新AlertDialog.Builder(本);        的LinearLayout布局=新的LinearLayout(本);
        LinearLayout.LayoutParams PARMS =新LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);
        layout.setOrientation(LinearLayout.VERTICAL);
        layout.setLayoutParams(PARMS);        layout.setGravity(Gravity.CLIP_VERTICAL);
        layout.setPadding(2,2,2,2);        TextView的电视=新的TextView(本);
        tv.setText(职称);
        tv.setPadding(40,40,40,40);
        tv.setGravity(Gravity.CENTER);
        tv.setTextSize(20);        等的EditText =新的EditText(本);
        。etStr = et.getText()的toString();
        TextView的TV1 =新的TextView(本);
        tv1.setText(输入学号);        LinearLayout.LayoutParams tv1Params =新LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);
        tv1Params.bottomMargin = 5;
        layout.addView(TV1,tv1Params);
        layout.addView(ET,新LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT));        alertDialogBu​​ilder.setView(布局);
        alertDialogBu​​ilder.setTitle(职称);
        // alertDialogBu​​ilder.setMessage(输入学号);
        alertDialogBu​​ilder.setCustomTitle(电视);        如果(ISERROR)
            alertDialogBu​​ilder.setIcon(R.drawable.icon_warning);
        // alertDialogBu​​ilder.setMessage(消息);
        alertDialogBu​​ilder.setCancelable(假);        //设置负取消按钮
        alertDialogBu​​ilder.setNegativeButton(取消,新DialogInterface.OnClickListener(){
            公共无效的onClick(DialogInterface对话,诠释whichButton){
                dialog.cancel();
            }
        });        //设置正是按钮
        alertDialogBu​​ilder.setPositiveButton(OK,新DialogInterface.OnClickListener(){
            公共无效的onClick(DialogInterface对话,诠释它){
                如果(ISERROR)
                    完();
                其他{
                      意向意图=新意图(ChangeDeviceActivity.this,
                      MyPageActivity.class); startActivity(意向);
                }
            }
        });        AlertDialog alertDialog = alertDialogBu​​ilder.create();        尝试{
            alertDialog.show();
        }赶上(例外五){
            //窗口管理$ BadTokenException将被捕获和应用程序会
            //不显示'强制关闭的消息
            e.printStackTrace();
        }

I've been trying to add two elements in a default AlertDialog but I can't seem to make it work. Here's my code:

// START Dialog
    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);

    TextView tv = new TextView(this);
    tv.setText(title);
    tv.setPadding(40, 40, 40, 40);
    tv.setGravity(Gravity.CENTER);
    tv.setTextSize(20);

    EditText et = new EditText(this);
    etStr = et.getText().toString();

    alertDialogBuilder.setView(et);
    alertDialogBuilder.setTitle(title);
    alertDialogBuilder.setMessage("Input Student ID");
    alertDialogBuilder.setCustomTitle(tv);

    if (isError)
        alertDialogBuilder.setIcon(R.drawable.icon_warning);
    // alertDialogBuilder.setMessage(message);
    alertDialogBuilder.setCancelable(false);

    // Setting Negative "Cancel" Button
    alertDialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            dialog.cancel();
        }
    });

    // Setting Positive "Yes" Button
    alertDialogBuilder.setPositiveButton("OK",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    if (isError)
                        finish();
                    else {
                        Intent intent = new Intent(
                                ChangeDeviceActivity.this,
                                MyPageActivity.class);
                        startActivity(intent);
                    }
                }
            });

    AlertDialog alertDialog = alertDialogBuilder.create();

    try {
        alertDialog.show();
    } catch (Exception e) {
        // WindowManager$BadTokenException will be caught and the app would
        // not display the 'Force Close' message
        e.printStackTrace();
    }

For now, this is only an EditText with a message set by alertDialogBuilder.setMessage("Input Student ID"); but I want to make this a TextView so I can center-justify it. How do I do this?

解决方案

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);

        LinearLayout layout = new LinearLayout(this);
        LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
        layout.setOrientation(LinearLayout.VERTICAL);
        layout.setLayoutParams(parms);

        layout.setGravity(Gravity.CLIP_VERTICAL);
        layout.setPadding(2, 2, 2, 2);

        TextView tv = new TextView(this);
        tv.setText(title);
        tv.setPadding(40, 40, 40, 40);
        tv.setGravity(Gravity.CENTER);
        tv.setTextSize(20);

        EditText et = new EditText(this);
        etStr = et.getText().toString();
        TextView tv1 = new TextView(this);
        tv1.setText("Input Student ID");

        LinearLayout.LayoutParams tv1Params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
        tv1Params.bottomMargin = 5;
        layout.addView(tv1,tv1Params);
        layout.addView(et, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));

        alertDialogBuilder.setView(layout);
        alertDialogBuilder.setTitle(title);
        // alertDialogBuilder.setMessage("Input Student ID");
        alertDialogBuilder.setCustomTitle(tv);

        if (isError)
            alertDialogBuilder.setIcon(R.drawable.icon_warning);
        // alertDialogBuilder.setMessage(message);
        alertDialogBuilder.setCancelable(false);

        // Setting Negative "Cancel" Button
        alertDialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                dialog.cancel();
            }
        });

        // Setting Positive "Yes" Button
        alertDialogBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
                if (isError)
                    finish();
                else {
                      Intent intent = new Intent( ChangeDeviceActivity.this,
                      MyPageActivity.class); startActivity(intent);
                }
            }
        });

        AlertDialog alertDialog = alertDialogBuilder.create();

        try {
            alertDialog.show();
        } catch (Exception e) {
            // WindowManager$BadTokenException will be caught and the app would
            // not display the 'Force Close' message
            e.printStackTrace();
        }

这篇关于如何添加TextView的和使用的EditText默认AlertDialog编程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆