我正在创建一个类似于登录屏幕的对话框,其中包含两个文本框和两个按钮。我能够创建它,但我的问题是两个编辑文本框相互重叠(第二个编辑文本框与第一个编辑文本框重叠)。这可能是一个简单的问题,但由于我是 android 的新手,所以我坚持使用它。请帮助我解决它。这是源代码
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();
}
}
最佳答案
如果您尝试使用 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);
像这样:
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();
}
}
它完美地工作:我邀请你复制粘贴它:)。
关于android - 在android中的对话框中设置多个文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7334292/