SeekBar seekBar_y = findViewById(R.id.seekBar_y); seekBar_y.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // 将进度值传递给 AsyncTask new SendDataTask().execute('y'+progress); } @Override public void onStartTrackingTouch(SeekBar seekBar) {} @Override public void onStopTrackingTouch(SeekBar seekBar) {} }); private class SendDataTask extends AsyncTask<Integer, Void, Void> { @Override protected Void doInBackground(Integer... params) { int progress = params[0]; // 将进度值发送到已连接的端口 out.println(progress); return null; } }改成发送不同位置对应的字符型数字
时间: 2024-03-09 08:46:55 浏览: 176
您可以在`onProgressChanged`方法中根据不同的位置来发送不同的字符型数字。例如,如果SeekBar的id为R.id.seekBar_x,您可以使用以下代码:
```
SeekBar seekBar_x = findViewById(R.id.seekBar_x);
seekBar_x.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
// 根据不同的位置发送不同的字符型数字
switch (seekBar.getId()) {
case R.id.seekBar_x:
new SendDataTask().execute('x' + String.valueOf(progress));
break;
case R.id.seekBar_y:
new SendDataTask().execute('y' + String.valueOf(progress));
break;
// 这里可以添加更多的位置
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
private class SendDataTask extends AsyncTask<String, Void, Void> {
@Override
protected Void doInBackground(String... params) {
String progressStr = params[0];
// 将进度值发送到已连接的端口
out.println(progressStr);
return null;
}
}
```
在`onProgressChanged`方法中,根据SeekBar的id来判断当前的位置,然后发送相应的字符型数字。在`SendDataTask`中,将字符串类型的进度值发送到已连接的端口。
阅读全文