Android 如何让TextView或EditText显示变量
我试图在Android 如何让TextView或EditText显示变量,android,Android,我试图在文本视图或编辑文本上显示计算结果。我从100磅和10磅中获取用户输入,然后将其相加,并尝试在totalPounds上显示。这不是我要用的方程式,只是想看看它是否有效。当前,我的应用程序崩溃,代码如下。这都在一个活动下进行。另外,当我更改EditText的ID时,EditText的位置在我的相对布局上如何更改?请不要链接,我知道这很简单,但我是一个傻瓜。我已经搜索过了,很难找到解决方案 public void onCreate(Bundle savedInstanceState) {
文本视图
或编辑文本
上显示计算结果。我从100磅和10磅中获取用户输入,然后将其相加,并尝试在totalPounds上显示。这不是我要用的方程式,只是想看看它是否有效。当前,我的应用程序崩溃,代码如下。这都在一个活动下进行。另外,当我更改EditText
的ID时,EditText
的位置在我的相对布局上如何更改?请不要链接,我知道这很简单,但我是一个傻瓜。我已经搜索过了,很难找到解决方案
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);
}
你想要的是:
textView.setText(String.valueOf(result));
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));
目前,当您只提供一个int时,Android正试图找到一个资源id,这将失败
我还想到,您使用的是EditText,它因输入数字失败而臭名昭著,此外,您还可以执行以下操作:
textView.setText(String.valueOf(result));
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));
你想要的是:
textView.setText(String.valueOf(result));
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));
目前,当您只提供一个int时,Android正试图找到一个资源id,这将失败
我还想到,您使用的是EditText,它因输入数字失败而臭名昭著,此外,您还可以执行以下操作:
textView.setText(String.valueOf(result));
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));
您可以使用以下任一选项:
textView.setText(Integer.toString(result));
或
您可以使用以下任一选项:
textView.setText(Integer.toString(result));
或
首先,ID与布局无关。其次,如果您的应用程序崩溃,请首先提供由crash.ID生成的(红色)LogCat日志与布局无关。其次,如果您的应用程序崩溃,请提供崩溃产生的(红色)LogCat日志。或者您可以使用更简洁(并且经常使用)的textView.setText(result+)
但是想法还是一样,把它转换成一个字符串,你应该会很好。@zyklonSport我看到String.valueOf()
比+“
更受推荐,所以我已经相应地进行了调整。我想我会检查一下,社区似乎和你在一起+感谢您的快速回复。当我使用以上两个代码时,它不喜欢“textView”,并且有一条红色的取消删除线,其中引用“textView无法解析”。textView应该是我的结果textView的ID吗?如果是,则仍然输入ID名称,并且仍然有红色下划线。如何让java识别该ID名称?@user1978756您是第一次做TextView TextView=(TextView)findViewById(R.ID.totalPounds)代码>然后添加我的行textView
(小写t)是保存textView
(大写t)对象的变量。如果您尚未导入TextView
类,请导入android.widget.TextView
。或者您可以使用更简洁(且常用)的TextView.setText(结果+”)
但是想法还是一样,把它转换成一个字符串,你应该会很好。@zyklonSport我看到String.valueOf()
比+“
更受推荐,所以我已经相应地进行了调整。我想我会检查一下,社区似乎和你在一起+感谢您的快速回复。当我使用以上两个代码时,它不喜欢“textView”,并且有一条红色的取消删除线,其中引用“textView无法解析”。textView应该是我的结果textView的ID吗?如果是,则仍然输入ID名称,并且仍然有红色下划线。如何让java识别该ID名称?@user1978756您是第一次做TextView TextView=(TextView)findViewById(R.ID.totalPounds)代码>然后添加我的行textView
(小写t)是保存textView
(大写t)对象的变量。如果尚未导入TextView
类,请导入android.widget.TextView
。