2012-03-05 4 views
5

Je crée un dialogue de contrôle de luminosité. Cependant, le problème que j'ai est que quand je mets textview puis seekbar provoque cette erreur:android.widget.SeekBar ne peut pas être converti en android.widget.TextView

android.widget.SeekBar cannot be cast to android.widget.TextView

Pour une raison quelconque, il semble fonctionner lorsque le positionnement sur .xml suit seekbar puis textview.

Voici un code:

LayoutInflater li_brightness = (LayoutInflater)this.getSystemService(LAYOUT_INFLATER_SERVICE); 
      View v_brightness = li_brightness.inflate(R.layout.options_dialog_brightness, (ViewGroup)findViewById(R.id.ll_brightness_layout)); 
      bright_textView = (TextView)v_brightness.findViewById(R.id.brightness_text); 
      brightBar = (SeekBar)v_brightness.findViewById(R.id.seekbar_brightness); 
      confirm_brightness = (Button)v_brightness.findViewById(R.id.button_brightness); 



      cResolver = getContentResolver(); 

      window = getWindow(); 

      brightBar.setMax(100); 
      brightBar.setProgress(50); 
      brightBar.setKeyProgressIncrement(1); 

      bright_textView.setText("50".toString()); 


      brightBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 

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

       } 

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

       } 

       public void onProgressChanged(SeekBar seekBar, int progress, 
         boolean fromUser) { 
        // TODO Auto-generated method stub 
        float BackLightValue = (float)progress/100; 
        if(BackLightValue <= 0){ 
         bright_textView.setText(String.valueOf(BackLightValue)); 
        } 


         WindowManager.LayoutParams layoutParams = getWindow().getAttributes(); 
         layoutParams.screenBrightness = BackLightValue; 
         getWindow().setAttributes(layoutParams); 
       } 
      }); 
+0

Ajouter logcat et XML, je pense mais pas sûr, le problème en raison de votre ID de fichier de mise en page XML Vous donnez id de textview à Seekbar vérifier! –

Répondre

10

votre projet, essayez de nettoyer (Projet> Clean d'Eclipse ou ant clean de la ligne de commande), et voir si cela éclaircit votre problème. Parfois, le système de construction devient un peu désynchronisé en termes de valeurs R, et ce type d'erreur est l'un des symptômes.

+0

Vous avez entièrement raison. Pour une raison quelconque, j'ai essayé cela avant que cela ne fonctionne pas. – wesdfgfgd

Questions connexes