0

AndroidのフィードバックダイアログにSeekBarを使用しています。

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    View layout = inflater.inflate(R.layout.feedbackview, (ViewGroup) findViewById(R.id.seekHospitality));

    SeekBar hospitalitySeek = (SeekBar) layout.findViewById(
            R.id.seekHospitality);
    hospitalitySeek.setProgress(5);
    hospitalitySeek
            .setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

                public void onStopTrackingTouch(SeekBar seekBar) {
                    // TODO Auto-generated method stub

                }

                public void onStartTrackingTouch(SeekBar seekBar) {

                }

                public void onProgressChanged(SeekBar seekBar,
                        int progress, boolean fromUser) {
                    if (seekBar.getId() == R.id.seekHospitality) {
                        TextView valHospitality = (TextView) getFeedbackDialog()
                                .findViewById(R.id.valHospitality);
                        valHospitality.setText(progress);

                    }
                }
            });

しかし、SeekBarの進行状況を変更すると、リスナーがトリガーされることはありません。なんで?

4

2 に答える 2

0

OnProgressChangedにデバッグメッセージを追加しようとしたかどうかはわかりませんが、置き換えてみることができます

    valHospitality.setText(String.valueOf(progress));

    valHospitality.setText(progress);
于 2012-06-13T01:56:28.893 に答える
0

見つけた:

    View layout = inflater.inflate(R.layout.feedbackview, (ViewGroup) findViewById(R.id.seekHospitality));

ここでseekHospitalityはルートではありません。だから私はそれを変更し、今それは動作します。

ありがとうございました

于 2012-06-13T10:03:50.700 に答える