谢谢你们帮我解决这个问题..。我相信大部分问题都解决了,但是有两个新的错误.我太抱歉了。
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;“类型不匹配,无法将编辑文本转换为双重
"alterarAltura.setText(String.format("%.02f",editAltura).replace(',',‘.’);“setText(String)的方法对于SeekBar类型未定义
我做错了什么吗?
发布于 2014-03-04 18:03:12
首先,将您的活动代码重新排列如下,然后说明您所面临的问题。
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) {
}
};
}发布于 2014-03-04 17:53:44
alterarAltura.setOnSeekBarChangeListener(alteraralturaListener);需要在一个方法中(比如onCreate(...))。
发布于 2014-03-04 20:18:36
您设置了错误的变量: alterarAltura是一个SeekBar。将此复制到onProgressChanged中:
double myDouble = (alterarAltura.getProgress()) * .01d;
// mostra na caixa o valor novo
editAltura.setText(String.format("%.02f", myDouble).replace(',', '.'));https://stackoverflow.com/questions/22179294
复制相似问题