Android: Alertbuilder меняет цвет во время выполнения - PullRequest
0 голосов
/ 24 января 2011

Я получил один Alretdialog с EditText и Seekbar.С помощью панели поиска я хочу изменить цвет фона моего текста редактирования.
Изменение цвета панели поиска работает, но без изменения цвета фона текста редактирования.

    EditText newSubjectEdit;
    SeekBar colorSeeker;
    Builder subjectAlert;
    LinearLayout lg;
private Builder getNewSubjectAlert() {
            subjectAlert = new AlertDialog.Builder(this);

            lg = new LinearLayout(getApplicationContext());
            ...

            newSubjectEdit = new EditText(getApplicationContext());
            ...
            lg.addView(newSubjectEdit);

            colorSeeker = new SeekBar(getApplicationContext());
colorSeeker.setOnSeekBarChangeListener(seekBarChangeListener);
            ...
            lg.addView(colorSeeker);

            subjectAlert.setView(lg);        
            // set ok and cancel ...

слушатель:

        SeekBar.OnSeekBarChangeListener seekBarChangeListener = new OnSeekBarChangeListener() {

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

            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                seekBar.setBackgroundColor(color);  // works !!
                newSubjectEdit.setBackgroundColor(color);  // doesn't work
            }
        };

надеюсь, вы понимаете, о чем я ...

1 Ответ

0 голосов
/ 24 января 2011

ifound prob.as вы добавили представление dynamicicalle.newSubjectEdit, вызываемое несколько раз. Поэтому оно переопределяется и для seekbar seekbar.OnSeekBarChangeListener дает вам seekbar как аргумент.который ссылается. так что он дает правильный объект

...