2013-11-24 5 views
5

में मैं चमक बदलने के लिए एक संवाद में एक सेकरबार डालने का प्रयास कर रहा हूं। ऐसा करने के लिए, मैंने यह कोड लिखा था।getContentResolver() और GetWindow() को डायलॉगफ्रेगमेंट

public class Lum extends DialogFragment{ 


     private SeekBar brightbar; 
     private int brightness; 
     private ContentResolver cResolver; 
     private Window window; 
     TextView txtPerc; 
     boolean stato; 
     Context context; 

     public android.app.Dialog onCreateDialog(Bundle savedInstanceState) { 
      // Use the Builder class for convenient dialog construction 

      AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 

      LayoutInflater inflater = getActivity().getLayoutInflater(); 
      View view = inflater.inflate(R.layout.dialog_brightness, null); 
      builder.setView(view); 

     brightbar = (SeekBar) view.findViewById(R.id.brightbar); 
     txtPerc = (TextView) view.findViewById(R.id.txtPercentage); 
     //cResolver = getContentResolver(); 
     //window = getWindow(); 
     brightbar.setMax(255); 
     brightbar.setKeyProgressIncrement(1); 

     brightbar = (SeekBar) view.findViewById(R.id.brightbar); 
     txtPerc = (TextView) view.findViewById(R.id.txtPercentage); 
     cResolver = getContentResolver(); 
     window = getWindow(); 
     brightbar.setMax(255); 
     brightbar.setKeyProgressIncrement(1); 

     try { 
      brightness = Settings.System.getInt(context.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS); 
     } catch (SettingNotFoundException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     float perc = (brightness /(float)255)*100; 
     txtPerc.setText((int)perc +" %"); 

     brightbar.setProgress(brightness); 
     brightbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() 
     { 
      public void onStopTrackingTouch(SeekBar seekBar) 
      { 
       Settings.System.putInt(context.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, brightness); 
       LayoutParams layoutpars = window.getAttributes(); 
       layoutpars.screenBrightness = brightness/(float)255; 
       window.setAttributes(layoutpars); 
      } 

      public void onStartTrackingTouch(SeekBar seekBar) 
      { 

      } 

      public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) 
      { 


        brightness = progress; 

        float perc = (brightness /(float)255)*100; 
        txtPerc.setText((int)perc +" %"); 
      } 
     });  

      builder.setTitle("Brightness") 
        .setPositiveButton("Close", new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
          dismiss(); 
    } 
        }); 

      // Create the AlertDialog object and return it 
      return builder.create(); 
     } 
    } 

समस्या यह है कि मेरी आईडीई ग्रहण getContentResolver और GetWindow में त्रुटियों के निशान क्योंकि मैं एक DialogFragment और नहीं एक गतिविधि पर काम कर रहा हूँ है। इस कक्षा में इस निर्देश का उपयोग करने के लिए मैं कैसे कर सकता हूं? या, यदि आप ऐसा नहीं कर सकते हैं, तो एक विकल्प है? अग्रिम

+0

'getActivity()। GetContentResolver() ' – Raghunandan

+0

हैलो, जवाब देने के लिए धन्यवाद। यह काम करता हैं। मैं भी एक्टिविटी() प्राप्त करता हूं। GetWindow() और काम करता है। मैनी धन्यवाद। –

उत्तर

18

http://developer.android.com/reference/android/content/Context.html#getContentResolver()

getContentResolver() धन्यवाद एक संदर्भ की जरूरत है।

आपके पास context.getContentResolver() है। getActivity().getContentResolver() का प्रयोग करें।

http://developer.android.com/reference/android/app/Activity.html#getWindow()

इसी getActivity().getWindow()

getActivity()

वापसी गतिविधि इस टुकड़ा वर्तमान में संबद्ध है का उपयोग करें।

+0

@ user3027663 आपका स्वागत है। आप अधिक जानकारी के लिए दस्तावेज़ों की जांच कर सकते हैं – Raghunandan

+0

कूल !! आपका बहुत बहुत धन्यवाद। क्या आपको लगता है कि आप इस प्रश्न के साथ मेरी मदद कर सकते हैं: http://stackoverflow.com/questions/25549679/how-can-i-split-a-long-single-sqliteopenhelper-into-serveral-classes-one-for-e – eddy

संबंधित मुद्दे