2.10 选择联系人

 

 

------------------------------------------------------------------------------------

public   class   Setup3Activity   extends   BaseSetupActivity {

       private   EditText    et_setup3_phone ;
       @Override
       public   void   setupView() {
               //   TODO   Auto-generated method stub
            setContentView(R.layout.   activity_setup3 );
               et_setup3_phone =(EditText) findViewById(R.id. et_setup3_phone   );
            
            
               //判断sp 存储器中是否有安全号码,有的话填充到et_setup3_phone中
               if (isSerNumber()){
            String      safenumber=   sp .getString(   "safenumber" ,   "" );
               et_setup3_phone .setText(safenumber);
            }
            
      }

       @Override
       public   void   next(View view) {
            
               //获取EditText中号码并存入 sp存储器中
            String safenumber= et_setup3_phone .getText().toString().toString().replace( "-"   ,   "" );
            
               if (TextUtils. isEmpty(safenumber)){                          //必须设置了安全密码才能到下一个页面
                  Toast. makeText( this ,   "安全号码不能为空" , 0).show();
                     return ;
            }
            
            Editor edit =   sp .edit();
            edit.putString(   "safenumber" , safenumber);
            edit.commit();
            
            
            
            Intent intent=   new   Intent(   this , Setup4Activity.   class );
            startActivity(intent);
            finish();    //结束当前activity
            
               //设置页面跳转动画效果
            overridePendingTransition(R.anim.   tran_next_in , R.anim. tran_next_out );
            
            
            

      }

       @Override
       public   void   pre(View view) {
            
            Intent intent=   new   Intent(   this , Setup2Activity.   class );
            startActivity(intent);
            finish();    //结束当前activity
            
               //设置页面跳转动画效果
          overridePendingTransition(R.anim.   tran_pre_in , R.anim. tran_pre_out );
      
      }
      
      
       /**
       * 选择联系人的点击事件
       *   @param   view
       */
       public   void   selectContact(View view){
            Intent intent=   new   Intent(   this ,ListContactActivity.   class );
            startActivityForResult(intent, 1);
            
      }
      
      
       /**
       * 得到activity返回联系人
       */
       @Override
       protected   void   onActivityResult(   int   requestCode,   int   resultCode, Intent data) {
               super .onActivityResult(requestCode, resultCode, data);
            
               //得到返回联系人
               if (data!=   null ){
                  String phone=data.getStringExtra(   "phone" );
                     et_setup3_phone .setText(phone);
                  
            }
            
      }
      
      
       /**
       * 判断有没有选择了联系人
       */
       public   boolean   isSerNumber(){
            
            String safenumber=   sp .getString(   "safenumber" ,   "" );
               if (TextUtils. isEmpty(safenumber)){
                     return   false ;
            }   else {
                     return   true ;
            }
            
      }
      
      

}

------------------------------------------------------------------------------------

在号码列表的listview中,给listview中的条目设置点击事件, 返回结果给调用者

public   class   ListContactActivity   extends   Activity {
       private   ListView   lv ;
       private   List<ContactInfo>    contactInfos ;

      @Override
      protected   void   onCreate(Bundle savedInstanceState) {
          super .onCreate(savedInstanceState);
        setContentView(R.layout.   activity_contact );
          lv   = (ListView) findViewById(R.id.   lv );
       
          //1.获取全部的联系人信息
          contactInfos   =  ContactInfoProvider. getContactInfos( this );
       
          lv .setAdapter( new   ContactAdapter());
       
          //创建条目的点击事件
          lv .setOnItemClickListener(   new   OnItemClickListener() {
                     @Override
                     public   void   onItemClick(AdapterView<?> parent, View view,
                                 int   position,   long   id) {
                        ContactInfo info =   contactInfos .get(position);
                        String phone = info.getPhone();
                           //设置返回的结果  返回给调用者
                        Intent data =   new   Intent();
                        data.putExtra(   "phone" , phone);
                        setResult(0, data);
                        finish();
                  }
            });
       
    }

   
      private   class   ContactAdapter   extends   BaseAdapter{

               @Override
               public   int   getCount() {
                     return   contactInfos .size();
            }

               @Override
               public   View getView(   int   position, View convertView, ViewGroup parent) {
                  View view = View. inflate(ListContactActivity. this , R.layout. contact_item ,   null   );
                  TextView tv_email = (TextView) view.findViewById(R.id. tv_email   );
                  TextView tv_name = (TextView) view.findViewById(R.id. tv_name   );
                  TextView tv_phone = (TextView) view.findViewById(R.id. tv_phone   );
                  ContactInfo info =   contactInfos .get(position);
                  tv_email.setText(   "邮箱:" +info.getEmail());
                  tv_name.setText(info.getName());
                  tv_phone.setText(info.getPhone());
                  
                     return   view;
            }
               @Override
               public   Object getItem(   int   position) {
                     //   TODO   Auto-generated method stub
                     return   null ;
            }

               @Override
               public   long   getItemId(   int   position) {
                     //   TODO   Auto-generated method stub
                     return   0;
            }

      
    }
      
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值