我是android的新手.我正在考虑在android中实现一个简单的计算器来掌握android中的基础知识.我想显示带有数字和数学运算的键盘,当用户按下键时,编辑文本中会显示相应的数字.我尝试使用gettext()并更新编辑文本的内容,但它只显示按下按钮的内容.另外我如何阅读按钮的内容以便在代码中进行数学运算?任何帮助将非常感激.
问候,
原始
要设置EditText的内容:
EditText text = (EditText) findViewById(R.id.your_text);
text.setText("Display this text");
Run Code Online (Sandbox Code Playgroud)
我没有尝试从按钮中拉出文本并将其用作整数,而是向每个"知道"其按钮值的按钮添加一个点击监听器:
Button button = (Button) findViewById(R.id.num_1);
button.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
// Do something with the value of the button
}
});
Run Code Online (Sandbox Code Playgroud)
当你在计算器中执行数字按钮时,将按钮的标题视为实际数据几乎是唯一可接受的做法,所以我不知道这是否适用于'android basics';)
而不管;
当用户按下某个键(按钮?)时,您声明要显示相应的数字.然后你说getText只是向你展示按下按钮的内容......这不正是你所要求的吗?您可能需要提供一些代码并告诉我们什么不符合您的预期.但是如果一个按钮的文本为'8',并且你想在数学运算中将其视为八,那么你需要解析它:
Integer myNumber = Integer.parse(myButton.getText());
Run Code Online (Sandbox Code Playgroud)
...如果文本myButton没有解析为整数,那么当然会抛出异常.
编辑,评论
从您在评论中给出的问题的解释,是的,setText()完全将文本重置为它传递的值,但是您可以使用它的组合,getText()如果您只想将某些内容附加到当前值:
myEditText.setText( myEditText.getText() + " " + myButton.getText() );
Run Code Online (Sandbox Code Playgroud)
小智 5
请尝试以下代码。
EditText x = (EditText)findviewbyid(R.id.abc);
Run Code Online (Sandbox Code Playgroud)
不要用x.setText(); 而是使用x.append(Your variable or value here)。这不会清除来自上一个按钮的文本。
| 归档时间: |
|
| 查看次数: |
36725 次 |
| 最近记录: |