我有一个显示计算结果的resulttextview。我想传递此resulttextview的值,以便它将以toast形式显示。
我有这个代码:
Toast.makeText(MyCalcActivity.this,message, Toast.LENGTH_LONG).show()
;
但是此代码显示了firstnumberTxt的值,其中我键入了要计算的第一个数字。 :(
Button plusBtn = (Button) findViewById(R.id.plusButton1);
plusBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
EditText inputOne = (EditText) findViewById(R.id.firstnumberTxt);
String message = inputOne.getText().toString();
EditText inputTwo = (EditText) findViewById(R.id.secondnumberTxt);
String message2 = inputTwo.getText().toString();
int first = Integer.parseInt(message);
int second = Integer.parseInt(message2);
int sum = first + second;
TextView resultTxt = (TextView) findViewById(R.id.resultTextview);
resultTxt.setText("Result is " + sum);
Toast.makeText(MyCalcActivity.this, message, Toast.LENGTH_LONG).show();
}
});
}
有没有办法可以做到这一点?
答案 0 :(得分:0)
我认为你是初学者,只是复制代码而不知道它。 所以让我直接告诉你。
//Actual toast
Toast.makeText(MyCalcActivity.this, message, Toast.LENGTH_LONG).show();
// Exaplaining toast
Toast.makeText(1, 2, 3).show();
在第一个参数1
中,它是toast所在的活动
所示。就像你在代码中看到的那样,它是MyCalcActivity.this
意味着它是您当前的活动,因为输入了this
。
在第二个参数2
中,您希望显示它。请参阅您使用message
代码中的代码,我们可以从您的代码中了解该消息是string
,其值为editText
,称为inputOne
。但你不想要那个,对吧?您想要textView resultTxt
的值,那么您使用message
的原因是什么?!将message
替换为resultText.getText()
以获取所需的textview
值。
在最后一个参数中,3
。它是toast message
的长度。你想要多久?它是什么。在你的代码中它被设置为Long toast消息,我认为它是大约3秒。如果您想要较短的一个,请使用Toast.LENGTH_SHORT
或自定义的持续时间。
最后,这是您想要的代码。
Toast.makeText(MyCalcActivity.this, resultTxt.getText().toString(), Toast.LENGTH_LONG)
.show();
抱歉花了太长时间,但很乐意帮助你。我们都是从底层开始的。但请你在下次问之前再搜索一下,有很多类似的问题和答案都是这样解释的。
答案 1 :(得分:0)
现在你将消息放入toast,即“firstnumberTxt”的值,而不是使用你刚刚完成计算的结果。
您需要做的就是在吐司中使用结果:
Toast.makeText(MyCalcActivity.this, sum, Toast.LENGTH_LONG).show();
你也可以走很长的路,得到TextView中的内容:
Toast.makeText(MyCalcActivity.this, resultText.getText().toString(), Toast.LENGTH_LONG).show();
答案 2 :(得分:0)
首先,您要在toast中调用消息
Toast.makeText(MyCalcActivity.this, message, Toast.LENGTH_LONG).show();
而是在toast do中显示sum的值,
Toast.makeText(MyCalcActivity.this, sum, Toast.LENGTH_LONG).show();
或者,如果要在resultTextView中显示值,请执行
Toast.makeText(MyCalcActivity.this, resultText.getText().toString(), Toast.LENGTH_LONG).show();
答案 3 :(得分:0)
Button plusBtn = (Button) findViewById(R.id.plusButton1);
plusBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
EditText inputOne = (EditText) findViewById(R.id.firstnumberTxt);
String message = inputOne.getText().toString();
EditText inputTwo = (EditText) findViewById(R.id.secondnumberTxt);
String message2 = inputTwo.getText().toString();
int first = Integer.parseInt(message);
int second = Integer.parseInt(message2);
int sum = first + second;
TextView resultTxt = (TextView) findViewById(R.id.resultTextview);
resultTxt.setText(String.valueOf(sum));
Toast.makeText(MyCalcActivity.this,"Result is" + resultTxt, Toast.LENGTH_LONG).show();
}
});
}