آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

بک گراند تغییر نمیکنه

jafar  12 سال پیش  12 سال پیش
0 0

 public class ActivitySettings extends PreferenceActivity {
    LinearLayout linmain;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.sample_settings);

        linmain = (LinearLayout) findViewById(R.id.linmain);

        findPreference("USER_FIRST_NAME").setOnPreferenceChangeListener(new OnPreferenceChangeListener() {

            @Override
            public boolean onPreferenceChange(Preference preference, Object object) {
                if (object.toString().length() < 3) {
                    Toast.makeText(G.context, "Value isn't valid, name must be more than 3 characters", Toast.LENGTH_LONG).show();
                    return false;
                } else {
                    Toast.makeText(G.context, "Value Changed " + object.toString(), Toast.LENGTH_LONG).show();
                    return true;
                }
            }
        });

        findPreference("SAMPLE_CHECKBOX").setOnPreferenceClickListener(new OnPreferenceClickListener() {

            @Override
            public boolean onPreferenceClick(Preference arg0) {
                Toast.makeText(G.context, "Clicked On Name Preference ", Toast.LENGTH_LONG).show();
                linmain.setBackgroundResource(R.drawable.ic_launcher);

                return true;
            }
        });
    }
}

  این مثال بخش Preference هاست میخواستم باکلیک روی SAMPLE CHECKBOX علاوه بر نمایش Toast بگ گراند

صفحه اصلی هم عوض بشه

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
Spirit  12 سال پیش
+1 0

خب معلومه عوض نمیشه ، شما باید تو activity ای که linmain استفاده شه مقدار SAMPLE_CHECKBOX رو که true یا false هست رو بخونید و طبق اون پس زمینه مورد نظرتون رو اعمال کنید که بهترین جایی هم که من میدونم متد onResume هستش.

 

0 0
میشه بیشتر توضیح بدبد (12 سال پیش)
پاسخ به سوال 
Spirit  12 سال پیش
+2 0

خدمت شما (دقت کنید که در فایل xml تنظیمات key مربوط به checkbox برابر با SAMPLE_CHECKBOX باشه):

 @Override
protected void onResume() {
super.onResume();
LinearLayout linmain = (LinearLayout) findViewById(R.id.linmain);
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
boolean sec false);
if (secondBackground) {
// zamani ke checkbox tik khorde bashe
linmain.setBackgroundResource(R.drawable.ic_launcher);
} else {
// zamani ke checkbox tik khorde nabashe
linmain.setBackgroundColor(Color.MAGENTA);
}
}
0 0
خیلی خیلی ممنون (12 سال پیش)
0 0
توجه هم کنید که خط 6 از کد بالا مشکل داره که تقسیر من نیست ، این سیستم استاد کمی مشکل داره. برای تشکر هم میتونید روی اون ستاره کلیک کنید :) (12 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .