仿腾讯通讯录管理应用说明与源码_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > 仿腾讯通讯录管理应用说明与源码

仿腾讯通讯录管理应用说明与源码

 2014/11/18 9:44:29  wangniuzen  程序员俱乐部  我要评论(0)
  • 摘要:这个是仿腾讯通讯录管理应用说明与源码,大家可以看看吧。部分代码如下publicclassMyCursrTreeAdapterextendsCursorTreeAdapter{publicMyCursrTreeAdapter(Cursorcursor,Contextcontext,booleanautoRequery){super(cursor,context,autoRequery);}@OverrideprotectedvoidbindGroupView(Viewview
  • 标签:源码 应用 腾讯

这个是仿腾讯通讯录管理应用说明与源码,大家可以看看吧。

部分代码如下

class="brush:csharp;gutter:true;">public class MyCursrTreeAdapter extends CursorTreeAdapter {

      public MyCursrTreeAdapter(Cursor cursor, Context context,
              boolean autoRequery) {
          super(cursor, context, autoRequery);
      }

       

      @Override
      protected void bindGroupView(View view, Context context, Cursor cursor,
              boolean isExpanded) {
          // TODO Auto-generated method stub
          Log.v(TAG, "bindGroupView");
          TextView groupName=(TextView)view.findViewById(R.id.groupName);
          String group=cursor.getString(groupName_index);
          groupName.setText(group);
           
          TextView groupCount=(TextView)view.findViewById(R.id.groupCount);
          int count=contactsManagerDbAdapter.getCountContactByGroupName(group);
          groupCount.setText("["+count+"]");
      }
       
      @Override
      protected View newGroupView(Context context, Cursor cursor,
              boolean isExpanded, ViewGroup parent) {
          Log.v(TAG, "newGroupView");
          LayoutInflater inflate=LayoutInflater.from(ContactsManager.this);
          View view=inflate.inflate(R.layout.grouplayout, null);
           
          bindGroupView(view, context, cursor, isExpanded);
           
          return view;
      }

      @Override
      protected Cursor getChildrenCursor(Cursor groupCursor) {
          Log.v(TAG, "getChildrenCursor");
          String groupName=groupCursor.getString(groupName_index);//得到当前的组名
          Cursor childCursor=contactsManagerDbAdapter.getContactsByGroupName(groupName);
          startManagingCursor(childCursor);
          return childCursor;
      }

      @Override
      protected View newChildView(Context context, Cursor cursor,
              boolean isLastChild, ViewGroup parent) {
          Log.v(TAG, "newChildView");
          LayoutInflater inflate=LayoutInflater.from(ContactsManager.this);
          View view=inflate.inflate(R.layout.childlayout, null);
           
          bindChildView(view, context, cursor, isLastChild);
           
          return view;
      }
       
      @Override
      protected void bindChildView(View view, Context context, Cursor cursor,
              boolean isLastChild) {
          // TODO Auto-generated method stub
          Log.v(TAG, "bindChildView");
          ImageView contactIcon=(ImageView)view.findViewById(R.id.contactIcon);
          contactIcon.setImageBitmap(getBitmapFromByte(cursor.getBlob(icon_index)));
           
          TextView name=(TextView)view.findViewById(R.id.name);
          name.setText(cursor.getString(name_index));
           
          TextView description=(TextView)view.findViewById(R.id.description);
          description.setTextKeepState(cursor.getString(description_index));
           
          final String phoneNumber=cursor.getString(telPhone_index);
          final String email=cursor.getString(email_index);
           
          ImageView mycursor=(ImageView)view.findViewById(R.id.myCursor);
          mycursor.setOnClickListener(new View.OnClickListener() {
               
              @Override
              public void onClick(View v) {
                  // TODO Auto-generated method stub
                  //showToast("点击了图片");
                  if(pop.isShowing())
                  {
                      pop.dismiss();
                  }
                  else
                  { 
                      pop.showAsDropDown(v); 
                       
                      btnSms.setOnClickListener(new View.OnClickListener() {
                           
                          @Override
                          public void onClick(View v) {
                              pop.dismiss();
                              Uri uri=Uri.parse("smsto:"+phoneNumber);
                              Intent it = new Intent(Intent.ACTION_SENDTO, uri);   
                              it.putExtra("sms_body", "呵呵!好久不见");   
                              startActivity(it);  
                          }
                      });
                       
                      btnEmail.setOnClickListener(new View.OnClickListener() {
                           
                          @Override
                          public void onClick(View v) {
                              pop.dismiss();
                              Uri uri = Uri.parse("mailto:"+email);
                              Intent it = new Intent(Intent.ACTION_SENDTO, uri);
                              startActivity(it);
                          }
                      });
                       
                      btnCall.setOnClickListener(new View.OnClickListener() {
                           
                          @Override
                          public void onClick(View v) {
                              pop.dismiss();
                              Uri uri = Uri.parse("tel:"+phoneNumber);
                              Intent it = new Intent(Intent.ACTION_DIAL, uri);  
                              startActivity(it);
                          }
                      });
                  }
              }
          });
      }
  }
   
//得到存储在数据库中的头像
  public Bitmap getBitmapFromByte(byte[] temp){
      if(temp!=null){
          Bitmap bitmap=BitmapFactory.decodeByteArray(temp, 0, temp.length);
          return bitmap;
      }else{
          return getRandomIcon();
      }
  }

  效果图
<ignore_js_op> 

<ignore_js_op> 


<ignore_js_op> 

详细说明:http://android.662p.com/thread-6001-1-1.html

发表评论
用户名: 匿名