[英]Seekbar Listener
谢谢你们为我解决seekbar问题。我相信大多数问题都已解决,但是有2个新错误。对不起。
public class MainActivity extends Activity {
private RadioGroup rgsexo;
EditText editPeso;
EditText editAltura;
TextView imcView;
SeekBar alterarAltura;
SeekBar alterarPeso;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
alterarAltura.setOnSeekBarChangeListener(alteraralturaListener);
editPeso = (EditText)findViewById(R.id.editPeso);
editAltura = (EditText)findViewById(R.id.editAltura);
imcView = (TextView)findViewById(R.id.imcView);
alterarAltura = (SeekBar)findViewById(R.id.alterarAltura);
alterarPeso = (SeekBar)findViewById(R.id.alterarPeso);
alterarAltura.setOnSeekBarChangeListener(alteraralturaListener);
}
private OnSeekBarChangeListener alteraralturaListener = new OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
// Calcula o novo valor do TIP
editAltura=(alterarAltura.getProgress()) * .01;
// mostra na caixa o valor novo
alterarAltura.setText(String.format("%.02f", editAltura).replace(',', '.'));
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
};
错误是
“ editAltura =(alterarAltura.getProgress())* .01;” 输入不匹配项,无法将edittext转换为double
“” alterarAltura.setText(String.format(“%。02f”,editAltura).replace(',','。'));“ 对于类型SeekBar,未定义setText(String)的方法
难道我做错了什么?
alterarAltura.setOnSeekBarChangeListener(alteraralturaListener);
需要在方法内部(例如onCreate(...)
)。
您设置了错误的变量:alterarAltura是SeekBar。 复制到onProgressChanged中:
double myDouble = (alterarAltura.getProgress()) * .01d;
// mostra na caixa o valor novo
editAltura.setText(String.format("%.02f", myDouble).replace(',', '.'));
首先,按如下所示重新排列活动代码,然后说出您面临或未遇到的问题。
public class MainActivity extends Activity {
private RadioGroup rgsexo;
EditText editPeso;
EditText editAltura;
TextView imcView;
SeekBar alterarAltura;
SeekBar alterarPeso;
alterarAltura.setOnSeekBarChangeListener(alteraralturaListener);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_layout);
editPeso = (EditText)findViewById(R.id.editPeso);
editAltura = (EditText)findViewById(R.id.editAltura);
imcView = (TextView)findViewById(R.id.imcView);
alterarAltura = (SeekBar)findViewById(R.id.alterarAltura);
alterarPeso = (SeekBar)findViewById(R.id.alterarPeso);
alterarAltura.setOnSeekBarChangeListener(alteraralturaListener);
}
private OnSeekBarChangeListener alteraralturaListener = new OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
// Calcula o novo valor do TIP
editAltura=(alterarAltura.getProgress()) * .01;
// mostra na caixa o valor novo
alterarAltura.setText(String.format("%.02f", editAltura).replace(',', '.'));
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
};
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.