这是我尝试做一些看似简单但不是的事情的日子。 在我正在制作的应用程序中,一个方法计算一个值,并且当你点击按钮时,它应该在一个对话框中显示结果。但是,每次单击“结果”按钮时,结果为0,因为它是数字的初始值。你有解决方案吗?
以下是方法:
public int Calcul(int number){
if(position == 0 && state1){
number=number+1;}
else{
number=number+4;}
return number; }
以下是对话:
public void Result(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Title")
.setMessage("Result : " + Integer.toString(number))
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
}
});
builder.show();
}
感谢您的回答。
答案 0 :(得分:0)
首先,您应首先从Dialog
对象创建AlertDialog.Builder
,然后按以下方式显示Dialog
...
AlertDialog dialog = builder.create();
dialog .show();
主要的是,您只通过number
通过Integer.toString()
,您应该通过在Calcul()
方法中调用toString()
来传递返回的结果。
因此,您更新的代码段将是......
public void Result(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Title")
.setMessage("Result : " + Integer.toString(Calcul(number)))
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
}
});
AlertDialog dialog = builder.create();
dialog .show();
}
答案 1 :(得分:0)
替换此
.setMessage("Result : " + Integer.toString(number))
用这个
.setMessage("Result : " + Integer.toString(Calcul(number)))