Android:如何通过按钮单击设置编辑文本的内容?

时间:2010-04-23 15:16:53

标签: android

我是android的新手。我正在考虑在android中实现一个简单的计算器来掌握android中的基础知识。我想显示带有数字和数学运算的键盘,当用户按下键时,编辑文本中会显示相应的数字。我尝试使用gettext()并更新编辑文本的内容,但它只显示按下按钮的内容。另外我如何阅读按钮的内容以便在代码中进行数学运算?任何帮助将不胜感激。

的问候,

原始

4 个答案:

答案 0 :(得分:6)

设置EditText的内容:

EditText text = (EditText) findViewById(R.id.your_text);
text.setText("Display this text");

我不会试图从按钮中拉出文本并将其用作整数,而是只为每个“知道”按钮值的人添加一个点击监听器:

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
    }
});

答案 1 :(得分:5)

当你在计算器中执行数字按钮时,处理按钮的标题作为实际数据几乎是唯一可接受的做法,所以我不知道这是否适用于'android basics'; )

不管;

当用户按下某个键(按钮?)时,您是否要显示相应的数字。然后你说getText只是向你显示按下按钮的内容......这不正是你所要求的吗?您可能需要提供一些代码并告诉我们什么不符合您的预期。但是如果一个按钮的文本为'8',并且你想在数学运算中将其视为八,那么你需要解析它:

Integer myNumber = Integer.parse(myButton.getText());

...如果myButton的文本没有解析为整数,那么当然会抛出异常。

编辑,评论

根据您在评论中提到的问题的解释,是的,setText()将文本完全重置为传递的值,但如果您只是getText(),则可以使用它的组合想要将某些东西附加到当前值:

myEditText.setText( myEditText.getText() + " " + myButton.getText() );

答案 2 :(得分:4)

请尝试以下代码。

EditText x = (EditText)findviewbyid(R.id.abc);

不要使用x.setText();相反,使用x.append(Your variable or value here)。这不会清除前一个按钮的文本。

答案 3 :(得分:2)

在EditText中设置按钮的文本:

EditText edittext=(EditText)findviewById(R.id.edittext); 
Button num1=(Button)findViewById(R.id.button_num1);
Button num2=(Button)findviewById(R.id.button_num2);
num1.setOnClickListener(new View.OnClickListener() { 
    @Override public void onClick(View v) {
        edittext.append("1");
    } 
});
num1.setOnClickListener(new View.OnClickListener() { 
    @Override
    public void onClick(View v) {
        edittext.append("2");
    } 
});

对于简单的calcultaor,请参阅here 它会帮助你在android中创建一个计算器。