0

我正在尝试在 aTextView或上显示计算结果EditText。我从 one100lbs 和 tenPounds 中获取用户输入,然后将它们加在一起并尝试将其显示在 totalPounds 上。这不是我要使用的方程式,只是想看看它是否有效。目前,我的应用程序下面的代码崩溃了。这一切都归于一activity。另外,当我更改我的更改EditText位置的 ID 时,怎么会editText发生relative layout?请不要链接,我知道它很简单,但我是菜鸟。我已经搜索并且很难找到解决方案。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.pounds);
    addListenerOnSpinnerItemSelection();

    EditText one100lbs = (EditText) findViewById(R.id.one100lbs);
    int one = Integer.valueOf(one100lbs.getText().toString());

    EditText tenPounds = (EditText) findViewById(R.id.tenPounds);
    int two = Integer.valueOf(tenPounds.getText().toString());

    int result = one + two;

    TextView textView = (TextView) findViewById(R.id.totalPounds);
    textView.setText(result);   
}
4

2 回答 2

4

你想要这样的东西:

textView.setText(String.valueOf(result));

就目前而言,当您仅提供一个 int 时,Android 会尝试查找资源 id,这将失败。

我还发现您正在使用 EditTexts,它因在输入数字时失败而臭名昭著,除了强制键盘仅是 numbers之外,您还可以执行以下操作:

int one = 0;
int two = 0;

try{
  EditText one100lbs = (EditText) findViewById(R.id.one100lbs);
  one = Integer.valueOf(one100lbs.getText().toString().trim());
}
catch (NumberFormatException e)
{
  one = -1;
}

try{
  EditText tenPounds = (EditText) findViewById(R.id.tenPounds);
  two = Integer.valueOf(tenPounds.getText().toString().trim()); 
}
catch (NumberFormatException e)
{
  two = -1;
}

int result = one + two;

TextView textView = (TextView) findViewById(R.id.totalPounds);
textView.setText(String.valueOf(result)); 
于 2013-01-14T23:38:31.597 回答
0

您可以使用以下任一方法:

textView.setText(Integer.toString(result));

或者

textView.setText(result + "");
于 2013-01-15T00:18:50.983 回答