繁体   English   中英

搜索栏监听器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM