在android中的对话框中设置多个文本框

SSG*_*SSG 7 android android-layout

我正在创建一个对话框,就像一个包含两个文本框和两个按钮的登录屏幕.我能够创建它但我的问题是两个编辑文本框彼此重叠(第二个编辑文本框与第一个重叠).它可能是一个简单的,但因为我刚刚接触到了它.它帮助我解决它.这是源代码

public class LoginActivity extends Activity {
    /** Called when the activity is first created. */
    @Override

    public void onCreate(Bundle savedInstanceState) {                        
        super.onCreate(savedInstanceState);                         
        setContentView(R.layout.main);  
        Button btn= (Button) findViewById(R.id.btn_Login);
        btn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                showDialog(0);

            }
        });
    }

        protected Dialog onCreateDialog(int id)
        {
        final AlertDialog.Builder alert = new AlertDialog.Builder(this);                        
        final EditText input = new EditText(this); 
        final EditText input1 = new EditText(this);
        alert.setIcon(R.drawable.icon);
        alert.setTitle("Login");
        alert.setView(input);   
        alert.setView(input1);

        alert.setView(input1);
        alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {             
            public void onClick(DialogInterface dialog, int whichButton) {              
                String value = input.getText().toString().trim();                       
                Toast.makeText(getApplicationContext(), value, Toast.LENGTH_SHORT).show();   
                }                     });                 
        alert.setNegativeButton("Cancel",                  
                new DialogInterface.OnClickListener() {                           
            public void onClick(DialogInterface dialog, int whichButton) {          
                dialog.cancel();    }     });         
        return alert.create();      
        } 
    }
Run Code Online (Sandbox Code Playgroud)

mth*_*pvg 18

如果你试图用LinerLayout:

LinearLayout lila1= new LinearLayout(this);
lila1.setOrientation(LinearLayout.VERTICAL);
final EditText input = new EditText(this); 
final EditText input1 = new EditText(this);
lila1.addView(input);
lila1.addView(input1);
alert.setView(lila1);
Run Code Online (Sandbox Code Playgroud)

像这样:

public class LoginActivity extends Activity {
    /** Called when the activity is first created. */
    @Override

public void onCreate(Bundle savedInstanceState) {                        
    super.onCreate(savedInstanceState);                         
    setContentView(R.layout.main);  
    Button btn= (Button) findViewById(R.id.btn_Login);
    btn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            showDialog(0);

        }
    });
}

    protected Dialog onCreateDialog(int id)
    {
    final AlertDialog.Builder alert = new AlertDialog.Builder(this);    

    LinearLayout lila1= new LinearLayout(this);
    lila1.setOrientation(1); //1 is for vertical orientation
    final EditText input = new EditText(this); 
    final EditText input1 = new EditText(this);
    lila1.addView(input);
    lila1.addView(input1);
    alert.setView(lila1);

        alert.setIcon(R.drawable.icon);
        alert.setTitle("Login");

        alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {             
            public void onClick(DialogInterface dialog, int whichButton) {              
                String value = input.getText().toString().trim();                       
                Toast.makeText(getApplicationContext(), value, Toast.LENGTH_SHORT).show();   
                }                     });                 
        alert.setNegativeButton("Cancel",                  
                new DialogInterface.OnClickListener() {                           
            public void onClick(DialogInterface dialog, int whichButton) {          
                dialog.cancel();    }     });         
        return alert.create();      
        } 
    }
Run Code Online (Sandbox Code Playgroud)

而且效果很好:我邀请你复制粘贴它:).


Dyo*_*sos 6

您也可以为对话框创建布局XML。在调用对话框之前,只需执行以下操作:

myDialog.setContentView(R.layout.my_dialog_layout);
Run Code Online (Sandbox Code Playgroud)