我想做一个有条件的if语句。因此,如果textview说x,则执行y。这可能吗?我一直在尝试使用以下代码
if(tvresult.getText() == ("Environment"){
testView.setText("NotAssignYet");
tvresult文本视图显示以下文本
[
{"Sensor Type": "Environment",
"Sensor ID":"5a7de613e13508be088dc4a8",
"Vendor Name":"Monnit",
"Vendor ID": "5a7ddc2de13508be088dc4a7",
"Project Location Name": "862 White Street, Dubuque, IA, 52001",
"Project Location ID": "5a01c555ad63f900b5411eed",
"Gateway Name": "Gateway Test - Planning Stage",
"Gateway ID":"5b1836f3389a4eaa38ff887f",
"Vendor Sensor Type": "Temperature Test - Planning Stage",
"Vendor Sensor ID": "NotAssignedYet"}
]
可以按照我的要求做吗?
答案 0 :(得分:1)
我看到了您的目标,这是可能的,但您使用目标的方式却不是。
我认为您必须使用
tvresult.getText()。toString()。contains(“环境”)
而不是
tvresult.getText()==“环境”
因为tvresult.getText()
不仅包含“环境”,还包含更多文本。因此您的代码应为:
if (tvresult.getText().toString().contains("Environment")){
testView.setText("NotAssignYet");
}
请紧记:tvresult.getText()
不返回 String 对象,它返回的 CharSequence 没有{{1 }}方法,所以我用.contains()
进行了转换。
祝你好运!
答案 1 :(得分:-1)
要在TextView
中获取文字,您可以执行以下操作:
String strJson = tvresult.getText().toString();
从您的文字中可以看到,它是JSONArray
。因此,您必须首先解析它以检查Sensor Type
(据我了解,这就是您要寻找的东西)。
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
.`
.
.
JSONArray jsonAr = new JSONArray(strJson);
JSONObject jsonOb = jsonAr.getJSONObject(0);
String sensorType=jsonOb.getString("Sensor Type");
if(sesorType.equals("Environment"){
testView.setText("NotAssignYet");
}
这样,您还可以例如检查Vendor ID
并做任何您想做的事。