对于if语句部分,它带有红色标记。它说,运算符“ +”不能应用于“ TextView”,“ int”。我不知道该怎么办。我不能在//barchart.js
import React from 'react';
import {HorizontalBar} from 'react-chartjs-2';
const state = {
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
datasets: [
{
label: 'My First dataset',
backgroundColor: 'rgba(255,99,132,0.2)',
borderColor: 'rgba(255,99,132,1)',
borderWidth: 1,
hoverBackgroundColor: 'rgba(255,99,132,0.4)',
hoverBorderColor: 'rgba(255,99,132,1)',
data: [65, 59, 80, 81, 56, 55, 40]
}
]
}
export default class barchart extends React.Component {
render() {
return (
<div>
<h2>Horizontal Bar Example</h2>
<HorizontalBar data={state} />
</div>
);
}
}
答案 0 :(得分:0)
更改
if(SMM < BFM + 50){
到
if(Integer.valueOf(SMM.getText().toString())< Integer.valueOf(BFM.getText().toString())+ 50){
和其他类似TextView和integer的位置是两种不同的数据类型。您必须先获取Integer值,然后进行比较
答案 1 :(得分:0)
似乎您不了解什么是TextView,例如您的情况下的SMM。您已经从SMM(TextView)获得了字符串肌肉质量,对吗? 您将如何描述SMM.getText()。toString? 假设您知道您有一个字符串。 您为什么不(尝试)将此字符串转换为int(Integer)。您必须进行筛选,并确保输入的内容实际上是整数,而不是其他字符。 由于TextView(在这种情况下为BFM)不是整数,因此无法将其加上(+)50。
您最好使用EditText代替TextView。