3.11 选择归属地显示风格:单选对话框

来源:互联网 发布:oracle 数据挖掘 编辑:程序博客网 时间:2024/05/22 03:51

 

 

public class SettingActivity extends Activity {

      
       private SettingView  auto_update;
       private SettingView  sv_number_address;
      
       private SharedPreferences sp;
      
       Intent intent_numberaddress;
      
          // 自动更新的设置界面
             private SettingView sv_autoupdate;

             // 归属地设置界面
             private SettingView sv_showaddress;
             private Intent showAddressIntent;
            
            
             // 修改归属地风格
             private SettingViewClick svc_change_bg;
             private static final String[] items = { "半透明","活力橙" ,"卫士蓝" ,"苹果绿" ,"金属灰" };

             //更改归属地的位置
             private SettingViewClick sv_change_location;
      
      
      @Override
      protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout. activity_setting);
        
         //------------------------版本自动跟新--------------------------------
        
        
          //找到关系的SettingView
         auto_update=(SettingView) findViewById(R.id. sv_auto_update);
         auto_update.setTitle( "我是标题");
         auto_update.setDescri( "自动更新版本设置" );
      
         sp=getSharedPreferences( "config", MODE_PRIVATE);   //创建sp 存储器
        
        
        
         boolean  isautoupdate= sp.getBoolean( "isChecked", false);
         auto_update.setChecked(isautoupdate);
        
         //给布局中的条目设置点击事件
         auto_update.setOnClickListener( new OnClickListener() {
              android.content.SharedPreferences.Editor   editor= sp.edit();
             @Override
             public void onClick(View v) {
               if( auto_update.isChecked()){
                         auto_update.setChecked( false);
                         editor.putBoolean( "isChecked", false);
                  } else{
                         auto_update.setChecked( true);
                         editor.putBoolean( "isChecked", true);
                  }
               editor.commit();
            }
      });
        
      
         //---------------------------- 来电号码归属地显示是否开启--------------------------------------------------------
       
         sv_number_address=(SettingView) findViewById(R.id.sv_number_address );
         sv_number_address.setTitle( "未开启");
         sv_number_address.setDescri( "来电号码归属地提醒" );
        
          intent_numberaddress= new Intent(getApplicationContext(),ShowAddressService.class);
        
         //给布局中的条目设置点击事件
         sv_number_address.setOnClickListener( new OnClickListener() {
            
             @Override
             public void onClick(View v) {
                   if( sv_number_address.isChecked()){
                         sv_number_address.setChecked( false);
                        stopService( intent_numberaddress);
                        
                  } else{
                         sv_number_address.setChecked( true);
                        startService( intent_numberaddress);
                  }
                  
            }
      });
        
        
        
         //------------------------------来电归属地显示风格选择---------------------------------
         svc_change_bg = (SettingViewClick) findViewById(R.id.sv_changebg );
         svc_change_bg.setTitle( "号码归属地显示风格" );
             svc_change_bg.setDescri( items[ sp.getInt( "which", 0)]);
             svc_change_bg.setOnClickListener( new OnClickListener() {
                  
                   @Override
                   public void onClick(View v) {
                        showChangeBGDialog(); 
                  }
            });
            
            
            
        
      
        
      }
      
      
      /**
       *开启界面时
       */
      @Override
      protected void onStart() {
            
            
             //得到来电显示归属地的服务是否在运行
             boolean state = ServiceStatusUtils.isServiceRunning(SettingActivity. this, ShowAddressService.class);
             if(state){
                   sv_number_address.setChecked( true);
                  
            } else{
                   sv_number_address.setChecked( false);
            }
            
             super.onStart();
      }
      
      
      
      
      /**
       * 显示更改号码归属地Toast背景的对话框
       */
      protected void showChangeBGDialog() {
            AlertDialog.Builder builder = new Builder( this);
            
            builder.setTitle( "归属地提示框风格" );
            
             int which = sp.getInt( "which", 0);
            
            builder.setSingleChoiceItems( items, which, new DialogInterface.OnClickListener() {
                  
                   @Override
                   public void onClick(DialogInterface dialog, int which) {
                   
                        android.content.SharedPreferences.Editor editor = sp.edit();
                        editor.putInt( "which", which);
                        editor.commit();
                        dialog.dismiss();
                         svc_change_bg.setDescri( items[which]);
                  }
            });
            builder.setNegativeButton( "取消", new DialogInterface.OnClickListener() {
                  
                   @Override
                   public void onClick(DialogInterface dialog, int which) {
                         // TODO Auto-generated method stub
                        
                  }
            });
            builder.show();
            
      }
      
  }