如果,SeekBar能实现拖动进度条,下面显示数字,现在有个想法就是我下面输入数字,让进度条自动跳转到相应的位置,该怎么写呢?
解决方案 »
- android google map显示不出来东西
- 新人求助,ecplise没有提示错误,但是生成的apk安装之后不能运行
- SubMenu怎么设置菜单项为单选的?
- android 二维码信息分析
- 同一个activity使用setContentView进行界面切换后,原界面其余button监听失效?
- 为Button设置监听(OnClickListener)事件,能传入参数吗?
- 小弟,想要用GPS然后在一个图片上打点记录运行的轨迹
- android seekto 拖动后监听
- 请问 android已经工作朋友们一个问题
- 如何实现点击FloatingActionButton以外的view关闭fab的菜单?
- 检查一下你的编程语言基础知识怎么样,说出这段代码输出结果,为什么?
- [高分求助]自定义webview控件如何实现非等比缩放
注意转化的时候抛出的异常。
//定义一个SeekBar和一个TextView
private SeekBar seekBar;
private TextView textView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//根据ID值取得SeekBar对象
seekBar = (SeekBar)findViewById(R.id.seekbar);
seekBar.setMax(100);
//为SeekBar设置监听器(这里使用匿名内部类)
seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){
//复写OnSeeBarChangeListener的三个方法
//第一个时OnStartTrackingTouch,在进度开始改变时执行
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
//第二个方法onProgressChanged是当进度发生改变时执行
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
textView = (TextView)findViewById(R.id.edit);
int i= seekBar.getProgress();
textView.setText(""+i);
}
//第三个是onStopTrackingTouch,在停止拖动时执行
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
textView = (TextView)findViewById(R.id.edit);
int i= seekBar.getProgress();
textView.setText(""+i);
}
});
}
}
我这个就是最基本的SeekBar实现,不知道该怎么改
yourEditView.addTextChangedListener(new TextWatcher() { @Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
//获取editview输入的值
//更改seekbar相应的操作
} @Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
} @Override
public void afterTextChanged(Editable s) {
}
});
把editView里的值读取出来,在用seekBar.setProgress(),这样应该可以吧
//接收数据线程
Thread ReadThread=new Thread(){
public void run(){
int num = 0;
byte[] buffer = new byte[1024];
byte[] buffer_new = new byte[1024];
int i = 0;
int n = 0;
bRun = true;
//接收线程
while(true){
try{
while(is.available()==0){
while(bRun == false){}
}
while(true){
num = is.read(buffer); //读入数据
n=0;
String s0 = new String(buffer,0,num);
fmsg+=s0; //保存收到数据
for(i=0;i<num;i++){
if((buffer[i] == 0x0d)&&(buffer[i+1]==0x0a)){
buffer_new[n] = 0x0a;
i++;
}else{
buffer_new[n] = buffer[i];
}
n++;
}
String s = new String(buffer_new,0,n);
smsg+=s; //写入接收缓存
if(is.available()==0)break; //短时间没有数据才跳出进行显示
}
//发送显示消息,进行显示刷新
handler.sendMessage(handler.obtainMessage());
}catch(IOException e){
}
}
}
};
//消息处理队列
Handler handler= new Handler(){
public void handleMessage(Message msg){
super.handleMessage(msg);
dis.setText(smsg); //显示数据
sv.scrollTo(0,dis.getMeasuredHeight()); //跳至数据最后一页
progress=Integer.parseInt(smsg);
seekBar.setProgress(progress);
}
};
private TextView dis; //接收数据显示句柄
private ScrollView sv; //翻页句柄
private String smsg = ""; //显示用数据缓存
private String fmsg = ""; //保存用数据缓存
private SeekBar seekBar = null;
private int progress = 0;