如何制作的EditText框在对话框 [英] how to make a edittext box in a dialog

查看:173
本文介绍了如何制作的EditText框在对话框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图做一个的EditText框在对话框中输入密码。 当我这样做我不能够做的事情。我在这一个初学者。 请帮我在这。

 公共类MainActivity延伸活动{

按钮来创建,展示,设置;
//字符串传递=管理;字符串密码;

@覆盖
保护无效的onCreate(包savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.activity_main);

    创建=(按钮)findViewById(R.id.amcreate);
    设置=(按钮)findViewById(R.id.amsetting);
    秀=(按钮)findViewById(R.id.amshow);
    //输入=(EditText上)findViewById(R.id.this);

    setting.setVisibility(View.INVISIBLE);

    create.setOnClickListener(新View.OnClickListener(){
        公共无效的onClick(视图查看){
            意图myIntent1 =新的意图(view.getContext(),Create.class);
            startActivityForResult(myIntent1,0);
        }

    });

    show.setOnClickListener(新View.OnClickListener(){
        // @燮pressWarnings(德precation)
        公共无效的onClick(最终查看视图){

            //创建警报对话框有一个按钮
            AlertDialog.Builder alertDialog =新AlertDialog.Builder(MainActivity.this);

            // AlertDialog alertDialog =新AlertDialog.Builder(MainActivity.this).create();

            //设置对话框标题
            alertDialog.setTitle(密码);

            //设置对话框消息
            alertDialog.setMessage(请输入密码);
            **最后的EditText输入=新的EditText(本); **
            //alertDialog.setView(input);

            //设置图标,以对话框
            alertDialog.setIcon(R.drawable.key);

            //设置正是按钮
            alertDialog.setPositiveButton(是,
                    新DialogInterface.OnClickListener(){
                        公共无效的onClick(DialogInterface对话,诠释它){
                            //写您的code此对话框后执行
                            Toast.makeText(getApplicationContext(),密码匹配,Toast.LENGTH_SHORT).show();
                            意图myIntent1 =新的意图(view.getContext(),Show.class);
                            startActivityForResult(myIntent1,0);
                        }
                    });
            //设置否定否按钮
            alertDialog.setNegativeButton(否,
                    新DialogInterface.OnClickListener(){
                        公共无效的onClick(DialogInterface对话,诠释它){
                            //写您的code此对话框后执行
                            dialog.cancel();
                        }
                    });

            // 关闭

            //显示警报信息
            alertDialog.show();
        }

    });
 

图片

我希望得到尽可能

  AlertDialog.Builder alertDialog =新AlertDialog.Builder(MainActivity.this);
 alertDialog.setTitle(密码);
 alertDialog.setMessage(请输入密码);

 最后的EditText输入=新的EditText(MainActivity.this);
 LinearLayout.LayoutParams LP =新LinearLayout.LayoutParams(
     LinearLayout.LayoutParams.MATCH_PARENT,
     LinearLayout.LayoutParams.MATCH_PARENT);
 input.setLayoutParams(LP);
 alertDialog.setView(输入);
 alertDialog.setIcon(R.drawable.key);

 alertDialog.setPositiveButton(是,
     新DialogInterface.OnClickListener(){
         公共无效的onClick(DialogInterface对话,诠释它){
             。密码= input.getText()的toString();
             如果(password.compareTo()== 0){
                 如果(pass.equals(密码)){
                     Toast.makeText(getApplicationContext(),
                         密码匹配,Toast.LENGTH_SHORT).show();
                     意图myIntent1 =新的意图(view.getContext()
                         Show.class);
                     startActivityForResult(myIntent1,0);
                 } 其他 {
                     Toast.makeText(getApplicationContext(),
                         密码错误!,Toast.LENGTH_SHORT).show();
                 }
             }
         }
     });

 alertDialog.setNegativeButton(否,
     新DialogInterface.OnClickListener(){
         公共无效的onClick(DialogInterface对话,诠释它){
             dialog.cancel();
         }
     });

 alertDialog.show();
 }

 });
 

解决方案

使用Activtiy上下文

替换该

 最后的EditText输入=新的EditText(本);
 

 最后的EditText输入=新的EditText(MainActivity.this);
  LinearLayout.LayoutParams LP =新LinearLayout.LayoutParams(
                        LinearLayout.LayoutParams.MATCH_PARENT,
                        LinearLayout.LayoutParams.MATCH_PARENT);
  input.setLayoutParams(LP);
  alertDialog.setView(输入); //取消注释这一行
 

i am trying to make a edittext box in a dialog box for entering a password. and when i am doing i am not able to do. I am a beginner in it. Please help me in this.

public class MainActivity extends Activity {

Button create, show, setting;
//String pass="admin";String password;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    create = (Button)findViewById(R.id.amcreate);
    setting = (Button)findViewById(R.id.amsetting);
    show = (Button)findViewById(R.id.amshow);
    //input = (EditText)findViewById(R.id.this);

    setting.setVisibility(View.INVISIBLE);

    create.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            Intent myIntent1 = new Intent(view.getContext(), Create.class);
            startActivityForResult(myIntent1, 0);
        }

    });

    show.setOnClickListener(new View.OnClickListener() {
        //@SuppressWarnings("deprecation")
        public void onClick(final View view) {

            // Creating alert Dialog with one Button
            AlertDialog.Builder alertDialog = new AlertDialog.Builder(MainActivity.this);

            //AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();

            // Setting Dialog Title
            alertDialog.setTitle("PASSWORD");

            // Setting Dialog Message
            alertDialog.setMessage("Enter Password");
            **final EditText input = new EditText(this);**
            //alertDialog.setView(input);

            // Setting Icon to Dialog
            alertDialog.setIcon(R.drawable.key);

            // Setting Positive "Yes" Button
            alertDialog.setPositiveButton("YES",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,int which) {
                            // Write your code here to execute after dialog
                            Toast.makeText(getApplicationContext(),"Password Matched", Toast.LENGTH_SHORT).show();
                            Intent myIntent1 = new Intent(view.getContext(), Show.class);
                            startActivityForResult(myIntent1, 0);
                        }
                    });
            // Setting Negative "NO" Button
            alertDialog.setNegativeButton("NO",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            // Write your code here to execute after dialog
                            dialog.cancel();
                        }
                    });

            // closed

            // Showing Alert Message
            alertDialog.show();
        }

    }); 

Image

i want to get as

 AlertDialog.Builder alertDialog = new AlertDialog.Builder(MainActivity.this);
 alertDialog.setTitle("PASSWORD");
 alertDialog.setMessage("Enter Password");

 final EditText input = new EditText(MainActivity.this);
 LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
     LinearLayout.LayoutParams.MATCH_PARENT,
     LinearLayout.LayoutParams.MATCH_PARENT);
 input.setLayoutParams(lp);
 alertDialog.setView(input);
 alertDialog.setIcon(R.drawable.key);

 alertDialog.setPositiveButton("YES",
     new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int which) {
             password = input.getText().toString();
             if (password.compareTo("") == 0) {
                 if (pass.equals(password)) {
                     Toast.makeText(getApplicationContext(),
                         "Password Matched", Toast.LENGTH_SHORT).show();
                     Intent myIntent1 = new Intent(view.getContext(),
                         Show.class);
                     startActivityForResult(myIntent1, 0);
                 } else {
                     Toast.makeText(getApplicationContext(),
                         "Wrong Password!", Toast.LENGTH_SHORT).show();
                 }
             }
         }
     });

 alertDialog.setNegativeButton("NO",
     new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int which) {
             dialog.cancel();
         }
     });

 alertDialog.show();
 }

 });

解决方案

Use Activtiy Context

Replace this

  final EditText input = new EditText(this);

By

  final EditText input = new EditText(MainActivity.this);  
  LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
                        LinearLayout.LayoutParams.MATCH_PARENT,
                        LinearLayout.LayoutParams.MATCH_PARENT);
  input.setLayoutParams(lp);
  alertDialog.setView(input); // uncomment this line

这篇关于如何制作的EditText框在对话框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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