gpt4 book ai didi

java - 只需一次编辑而不是两次(AlertDialog)

转载 作者:行者123 更新时间:2023-12-02 06:09:42 25 4
gpt4 key购买 nike

新的一天 - 新的问题:

我想要一个按钮,它启动一个AlertDialog,用户可以在其中更改随机数的范围

我的问题是:它只显示一项编辑,我不知道为什么

(顺便说一句:应用程序不会崩溃:我得到一个随机数,我只是不知道它来自哪里)

下面是我的代码:

String s;

public void btn_own(View view) {
int a, b, c; // a : untere Grenze , b : obere Grenze


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

alert.setTitle("Enter range");

final EditText inputa = new EditText(this);
final EditText inputb = new EditText(this);
alert.setView(inputa);
alert.setView(inputb);

alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {

int aa = 0;
int bb = 0;
int cc = 0;
int e = 0;
try {
aa = Integer.parseInt(inputa.getText().toString());
} catch (NumberFormatException f) {
System.out.println("not a number: " + inputa.getText().toString());
f.printStackTrace();
}

try {
bb = Integer.parseInt(inputb.getText().toString());
} catch (NumberFormatException g) {
System.out.println("not a number: " + inputb.getText().toString());
g.printStackTrace();
}
cc = bb - aa;
Random rand = new Random();
int d = rand.nextInt(cc);
e = d + bb;
Integer out = new Integer(e);
s = out.toString();

new AlertDialog.Builder(Decider.this)
.setMessage(s)
.show();

}
});
alert.show();



}

希望你能帮助我..我是开发新手,这是我的第一个真正的项目

最佳答案

第二个 View 会覆盖 AlertDialog 中的第一个 View ,您只放置了一个 View !所以使用线性布局技巧如下:

字符串;

public void btn_own(View view) {
int a, b, c; // a : untere Grenze , b : obere Grenze


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

alert.setTitle("Enter range");
LinearLayout linearLayout = new LinearLayout(context);
linearLayout.setOrientation(1);
linearLayout.setGravity(Gravity.CENTER);


final EditText inputa = new EditText(this);
final EditText inputb = new EditText(this);
linearLayout.addView(inputa );
linearLayout.addView(inputb );

alert.setView(linearLayout );


alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {

int aa = 0;
int bb = 0;
int cc = 0;
int e = 0;
try {
aa = Integer.parseInt(inputa.getText().toString());
} catch (NumberFormatException f) {
System.out.println("not a number: " + inputa.getText().toString());
f.printStackTrace();
}

try {
bb = Integer.parseInt(inputb.getText().toString());
} catch (NumberFormatException g) {
System.out.println("not a number: " + inputb.getText().toString());
g.printStackTrace();
}
cc = bb - aa;
Random rand = new Random();
int d = rand.nextInt(cc);
e = d + bb;
Integer out = new Integer(e);
s = out.toString();

new AlertDialog.Builder(Decider.this)
.setMessage(s)
.show();

}
});
alert.show();

}

关于java - 只需一次编辑而不是两次(AlertDialog),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21996056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com