我试图从用户填写的三个EditText框中获取数字,然后通过一些简单的数学和用户按下按钮,需要通过textView获得答案。此外,每当我在模拟器上启动此应用程序时,它表示一旦我单击按钮转到此布局和代码,它需要强制关闭。这是代码:
package com.app.one;
import com.app.one.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class monthlyp extends Activity {
int x = 10;
int y= 10;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.monthlyp);
final TextView input = (TextView) findViewById(R.id.editone);
final Button btn = (Button) findViewById(R.id.equals);
final EditText textView13 = (EditText) findViewById(R.id.textView13);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
y = Integer.parseInt(input.getText().toString());
textView13.setText(String.valueOf(y));
}
});
}
}
我知道它只有一个EditText区域,但是因为我需要帮助再添加两个,并且能够将它们用作整数来加/减/除/乘。 xml有三个edittext框和一个等于按钮,可以解决输入的内容。感谢您的帮助,如果您需要更多信息,请与我联系。
答案 0 :(得分:2)
首先,您的输入显示为TextView,输出为EditText。这似乎是倒退。如果您的XML是正确的并且您的输入是EditText,则可能在尝试将其转换为TextView时遇到问题。
答案 1 :(得分:1)
马上做两件事:
您将字符串转换为整数,然后再次返回整数以将其放入另一个字段中。这很糟糕,它被称为悠悠球代码。保存字符串值并存储它。
如果未在EditText中放入有效整数,Integer.parseInt()可以抛出NumberFormatException。您需要尝试/捕获该异常并处理无效情况,最好通过在编辑文本上调用setError()。
http://developer.android.com/reference/java/lang/Integer.html#parseInt%28java.lang.String%29
编辑:是的,就像其他人说的那样..不要将你的EditText命名为“textView13”
答案 2 :(得分:0)
您说输入是文本视图
final TextView input = (TextView) findViewById(R.id.editone);
然后你得到了那个textview的整数值
y = Integer.parseInt(input.getText().toString());
我建议那不是你想要的
答案 3 :(得分:0)
您似乎从TextView获取输入并将输出发布到EditText。不应该是相反的吗?