如何连续从编辑文本中获取值android
问题描述:
在我的应用程序中,我试图从android设备传感器获取数据,然后尝试将它们存储在文件中。 我已经能够从传感器中检索数据并在EditText中成功输出它们,但是我无法从EditText中连续获取数据。 while循环在这里显然不是很有用。线程会创建一个字符串“条目”的副本,但我需要它外面,所以我试图使用可调用,但我不知道如果我做对了。 建议做些相同的事情。如何连续从编辑文本中获取值android
这是我想要做的。
btn_start.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View view) {
Callable callable = new Callable() {
@Override
public Object call() throws Exception {
while(!btn_stop.isPressed()) {
entry += acc_x.getText().toString() + "," +
acc_y.getText().toString() + "," +
acc_z.getText().toString() + "," +
gyro_x.getText().toString() + "," +
gyro_y.getText().toString() + "," +
gyro_z.getText().toString() + "," +
user_name.getText().toString() + "\n";
}
return entry;
}
};
ExecutorService executorService = Executors.newFixedThreadPool(2);
Future<String> stringFuture = executorService.submit(callable);
try {
entry = stringFuture.get();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
});
Here是完整的代码,如果你需要更多的参考。
答
如果您想从EditText连续获取数据。
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//save it to file here or what ever you want
}
@Override
public void afterTextChanged(Editable s) {}
});
谢谢你,这正是我所需要的。