在这里需要帮助,关于onPostExecute。如果我想将更新放在textView上应该是什么代码,我应该怎么做?。
@Override
protected Value[] doInBackground(Integer... params) {
ApiClient apiClient = new ApiClient(API_KEY);
Variable batteryLevel = apiClient.getVariable(VARIABLE_ID);
Value[] variableValues = batteryLevel.getValues();
return variableValues;
}
@Override
protected void onPostExecute(Value[] variableValues) {
// Update your views here
}
答案 0 :(得分:0)
执行以下操作,将TextView的引用保存为成员,并在嵌套的AsyncTask中使用它:
public class YourActivity extends Activity{
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_activity_layout);
textView = (TextView)findViewById(R.id.yourTextViewID);
...
}
private YourAsyncTask extends AsyncTask{
...
@Override
protected void onPostExecute(Value[] variableValues) {
if(textView != null)
textView.setText("your text");
}
}
}
答案 1 :(得分:0)
如果您想从Ubidots获取最后一个值到您的textview。你可以尝试这个,但你必须先将textview设置为OnCreate
@Override
protected void onPostExecute(Value[] variableValues) {
// Update your views here
String status = Double.toString(variableValues[0].getValue());
//this is textview for show last value from ubidots
mBatteryStatus.setText(status);
}
}