انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ارسال اطلاعات بین اکتیویتیها در برنامه اندروید

ارسال اطلاعات بین اکتیویتیها در برنامه اندروید

#1
سلام . خواهش میکنم یکی کمک کنه . من میخوام یه بخش تنظیمات تو پروژم قرار بدم یعنی مثلا بتونم نوع و رنگ و اندازه فونت رو تو کل اکتیویتیها تغییر بدم اما نمیدونم چجوری اینکار رو بکنم .

البته یک اکتیویتی ساختم که توش دو تا اسپینر گذاشتم سه تا تکست ویو با یک باتون و یک ادیت تکست مشکلم اینجاست که وقتی ذخیرش میکنم نوشته های همین اکتیویتی تغییر میکنه و ذخیره میشه و بقیه اکتیویتی ها تغییر نمیکنه باید چیکار کنم که این تغییرات تو همه اکتیویتیها یا اون کلاس هایی که خودم میخوام اعمال بشه ؟

اینم کد :

کد:
package com.test;

import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

public class Main extends Activity {

private Spinner spinner1,spinner2;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);

final SharedPreferences shpsettings = getSharedPreferences("font", MODE_PRIVATE);
String font , size,color; {
font = shpsettings.getString("font", "0");
size = shpsettings.getString("size", "20");
color = shpsettings.getString("color", "0");


final EditText et=(EditText)findViewById(R.id.editText1);
TextView tv1=(TextView)findViewById(R.id.sekel);
TextView tv2=(TextView)findViewById(R.id.textView2);
TextView tv3=(TextView)findViewById(R.id.textView3);
spinner1 =(Spinner)findViewById(R.id.spinner1);
spinner2 =(Spinner)findViewById(R.id.spinner2);
Button btn=(Button)findViewById(R.id.sisil);

//size
et.setTextSize(Float.parseFloat(size));
tv1.setTextSize(Float.parseFloat(size));
tv2.setTextSize(Float.parseFloat(size));
tv3.setTextSize(Float.parseFloat(size));
btn.setTextSize(Float.parseFloat(size));


//color
int c = 0;
if(color.equals("0"))
{
c=Color.BLACK;
}
else if(color.equals("1"))
{
c=Color.WHITE;
}
else if(color.equals("2"))
{
c=Color.RED;

}
else if(color.equals("3"))
{
c=Color.BLUE;
}
et.setTextColor(c);
tv1.setTextColor(c);
tv2.setTextColor(c);
tv3.setTextColor(c);
btn.setTextColor(c);


//font
Typeface font1 = null ;//= Typeface.createFromAsset(getAssets(), "arial.ttf");


if(font.equals("0"))
{
font1=Typeface.createFromAsset(getAssets(), "BMorvarid.ttf");
}
else if(font.equals("1"))
{
font1=Typeface.createFromAsset(getAssets(), "BKOODB.TTF");
}
else if(font.equals("2"))
{
font1=Typeface.createFromAsset(getAssets(), "andlso.ttf");

}
else if(font.equals("3"))
{
font1=Typeface.createFromAsset(getAssets(), "Far_Aman.ttf");
}

et.setTypeface(font1);
tv1.setTypeface(font1);
tv2.setTypeface(font1);
tv3.setTypeface(font1);
btn.setTypeface(font1);




et.setText(size);

final List<String> list = new ArrayList<String>;();

list.add("نازنین");
list.add("تیتر");
list.add("آفاق");
list.add("رفاقت");

final ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>;(this, android.R.layout.simple_spinner_item,list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(dataAdapter);
spinner1.setSelection(Integer.parseInt(font));



final List<String> list1 = new ArrayList<String>;();

list1.add("سیاه");
list1.add("سفید");
list1.add("قرمز");
list1.add("آبی");

final ArrayAdapter<String> dataAdapter1 = new ArrayAdapter<String>;(this, android.R.layout.simple_spinner_item,list1);
dataAdapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(dataAdapter1);
spinner2.setSelection(Integer.parseInt(color));


btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (Integer.parseInt(et.getText().toString())<=0 || Integer.parseInt(et.getText().toString())>30)
{
Toast.makeText(getApplicationContext(),"اندازه قلم باید عددی بین 0 تا 30 باشد", Toast.LENGTH_SHORT).show();
}
else
{
SharedPreferences.Editor shpE= shpsettings.edit();

shpE.putString("font",Integer.toString(spinner1.getSelectedItemPosition ()));
shpE.putString("size", et.getText().toString());
shpE.putString("color",Integer.toString(spinner2.getSelectedItemPosition ()));
shpE.commit();
Toast.makeText(getApplicationContext(), "تغییرات با موفقیت ذخیره شد", 1).show();

}
}
});

}
}
}
پاسخ


پیام‌های این موضوع
ارسال اطلاعات بین اکتیویتیها در برنامه اندروید - توسط amircrdsa7 - ۱۳۹۳/۰۶/۲۵, ۰۴:۴۵ ب.ظ
RE: ارسال اطلاعات بین اکتیویتیها - توسط admin - ۱۳۹۳/۰۶/۲۵, ۰۵:۵۲ ب.ظ
RE: ارسال اطلاعات بین اکتیویتیها - توسط amircrdsa7 - ۱۳۹۳/۰۶/۲۵, ۰۹:۱۰ ب.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان