بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
تغییر رنگ متن (حل شد)
سلام من یه تنظیمات دارم توی برنامم مشکلی در تغییر اندازه و فونت و حالت شب و روز و .... نیست فقط گیر تغییر رنگ متن هستم لطفا یکی کمک کنه
این xml ام که برای تغییر رنگ یه رایدوگروپ دارم که داری 3 تا رادیوباتن که مخصوص رنگ هاست اینک کدش
<RadioGroup
android:id="@+id/radiogroup"android:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"><RadioButtonandroid:id="@+id/CheckWhite"android:layout_width="wrap_content"android:layout_height="wrap_content"android:checked="true"android:text="White"/><RadioButtonandroid:id="@+id/CheckRed"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Red"/><RadioButtonandroid:id="@+id/CheckBlue"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Blue"/></RadioGroup>
اینم کد تنظیماتم که بعد از کلیک روی رادیو باتن ها ذخیره میکنم حالتشوم رو
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(RadioGroup group, int checkedId) {
String radioButtonSelected = "";
switch (checkedId) {
case R.id.CheckRed : radioButtonSelected = "Red";
Toast.makeText(AdvanceSetting.this,
"Checked", Toast.LENGTH_LONG).show();
break;
case R.id.CheckBlue : radioButtonSelected = "Blue";
Toast.makeText(AdvanceSetting.this,
"Checked", Toast.LENGTH_LONG).show();
break;
case R.id.CheckWhite : radioButtonSelected = "White";
Toast.makeText(AdvanceSetting.this,
"Checked", Toast.LENGTH_LONG).show();
break;
case R.id.CheckGreen : radioButtonSelected = "Green";
Toast.makeText(AdvanceSetting.this,
"Checked", Toast.LENGTH_LONG).show();
break;
case R.id.CheckBlack : radioButtonSelected = "Black";
Toast.makeText(AdvanceSetting.this,
"Checked", Toast.LENGTH_LONG).show();
break;
}
SharedPreferences appSharedPrefs = PreferenceManager.getDefaultSharedPreferences(AdvanceSetting.this);
Editor prefsEditor = appSharedPrefs.edit();
prefsEditor.putString("setColor", radioButtonSelected);
prefsEditor.commit();
}
});
یه چیزی هم که برام مشخص شده اینه که بعد کلیک روی رادیو باتن ها توستی نشون نمیده نمیدونم چرا
اینم کد اکتیوتی ای که میخام رنگ متنش عوض شه
SharedPreferences appSharedPrefs = PreferenceManager.getDefaultSharedPreferences(this.getApplicationContext());
String drawColor = appSharedPrefs.getString("setColor", "White");
int intColor = 0;
if(drawColor.equals("White"))
intColor = 1;
if(drawColor.equals("Red"))
intColor = 2;
if(drawColor.equals("Blue"))
intColor = 3;
if(drawColor.equals("Green"))
intColor = 4;
if(drawColor.equals("Black"))
intColor = 5;
if(intColor==1){
txt_matn.setTextColor(Color.parseColor("#FFFFFF"));
}else if (color==2) {
txt_matn.setTextColor(Color.parseColor("#FF0000"));
}
else if (color==3) {
txt_matn.setTextColor(Color.parseColor("#0000FF"));
}
else if (color==4) {
txt_matn.setTextColor(Color.parseColor("#008000"));
}
else if (color==5) {
txt_matn.setTextColor(Color.parseColor("#000000"));
}
دوستان به نظرتون مشکل از SharedPreferences هستش ؟
0
0
اون کد اولت رو کجا گذاشتی؟ توی onclick چی گذاشتیش؟ (12 سال پیش)
0
0
کد اول رو توی لیسینر گذاشتم بازم حل نشد اصلا انگار رایدوباتن ها انتخاب نمیشن (12 سال پیش)
0
0
توی لیسنر کی؟تک تک رادیو باتن ها؟ ببین 2 راه به ذهنم میرسه: یا یه متد درست کن و به عنوان ورودی به onclick اون radio ها بده و توی اون متد این کدهات رو بذار. یا این کدهات رو توی onClickListener تک تک اونها بذار. درشمن من با id کار نکردم. مطمئنی که این کد id ها رو درست تشخیص میده؟ یه بار Log شون کن( هم id کلیک شده هه رو هم id هایی که داری تو switch چک میکنی) ببین کجای کار غلطه. شاید اصلا کدها رو جایی گذاشتی که اجرا نمیشن (12 سال پیش)
0
0
بذار راه دوم رو امتحان کنم ببینم جواب میده یا نه (12 سال پیش)
0
0
دمت گرم از راه دوم یعنی برای تک تکشون لیسینر گذاشتم حل شد 5 ساعت بود درگیرش بودم (12 سال پیش)
0
0
خواهش میکنم ;) (12 سال پیش)
0
0
این راه خودت هم فکر کنم جواب میداد ولی برای وقتی که بخوای با یه دکمه "تایید" اطلاعات رو ذخیره کنی نه با کلیک مستقیم روی خودشون ;) (12 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
mf2010
12 سال پیش
+2
0
مشکل حل شد برای تک تک رادیو باتن ها لیسینر گذاشتم حل شد با تشکر از صادق گل اینم کد اصلاح شده
CheckRed.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
radioButtonSelected = "Red";
Toast.makeText(AdvanceSetting.this,
"Checked", Toast.LENGTH_LONG).show();
}
});
CheckWhite.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
radioButtonSelected = "White";
Toast.makeText(AdvanceSetting.this,
"Checked", Toast.LENGTH_LONG).show();
}
});
CheckBlue.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
radioButtonSelected = "Blue";
Toast.makeText(AdvanceSetting.this,
"Checked", Toast.LENGTH_LONG).show();
}
});
CheckBlack.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
radioButtonSelected = "Black";
Toast.makeText(AdvanceSetting.this,
"Checked", Toast.LENGTH_LONG).show();
}
});
CheckGreen.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
radioButtonSelected = "Green";
Toast.makeText(AdvanceSetting.this,
"Checked", Toast.LENGTH_LONG).show();
}
});
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .