Browse Source

1:解决通讯录模块点击商务伙伴闪退(完成)

gongpm 9 years ago
parent
commit
0e43886f2c

+ 48 - 30
WeiChat/src/main/java/com/sk/weichat/ui/erp/fragment/LinksManFragment.java

@@ -82,13 +82,14 @@ import java.util.List;
  */
 public class LinksManFragment extends XutilsFragment implements View.OnClickListener {
 
-//    private String TAG = "LinksManFragment";
+    //    private String TAG = "LinksManFragment";
     private Context ct;
     @ViewInject(R.id.my_data_rl)
     private RelativeLayout my_data_rl;
     @ViewInject(R.id.my_friend_rl)
     private RelativeLayout my_friend_rl;
-
+    @ViewInject(R.id.local_video_rl)
+    private RelativeLayout local_video_rl;
     private PullToRefreshListView mPullToRefreshListView;
     private TextView mTextDialog;
     private SideBar mSideBar;
@@ -110,6 +111,11 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
             case R.id.my_friend_rl:
                 ct.startActivity(new Intent(ct, CommonFragmentActivity.class));
                 break;
+            case R.id.local_video_rl:
+                //TODO 在通讯录页面点击商务伙伴时调转页面,待实现
+                Log.i("gongpengmimngIV","点击了商务圈");
+                ToastUtil.showToast(getActivity(),"抱歉,该功能还未开发");
+                break;
         }
     }
 
@@ -182,13 +188,17 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
 
     private void initView() {
         mBind = getActivity().bindService(CoreService.getIntent(), mServiceConnection, Activity.BIND_AUTO_CREATE);
-        View headview=  LayoutInflater.from(ct).inflate(R.layout.headview_cantacts_menus,null);
+        View headview = LayoutInflater.from(ct).inflate(R.layout.headview_cantacts_menus, null);
 
         mPullToRefreshListView = (PullToRefreshListView) findViewById(R.id.pull_refresh_list);
         Log.i("wang", "headview:" + headview);
         mPullToRefreshListView.getRefreshableView().addHeaderView(headview);
-        my_friend_rl=(RelativeLayout)headview.findViewById(R.id.my_friend_rl);
-        my_data_rl=(RelativeLayout)headview.findViewById(R.id.my_data_rl);
+
+        my_friend_rl = (RelativeLayout) headview.findViewById(R.id.my_friend_rl);
+        my_data_rl = (RelativeLayout) headview.findViewById(R.id.my_data_rl);
+        local_video_rl= (RelativeLayout) headview.findViewById(R.id.local_video_rl);
+
+        local_video_rl.setOnClickListener(this);
         my_data_rl.setOnClickListener(this);
         my_friend_rl.setOnClickListener(this);
 
@@ -202,22 +212,21 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
                 // 该字母首次出现的位置
                 int position = mAdapter.getPositionForSection(s.charAt(0));
                 if (position != -1) {
-                    int count=mPullToRefreshListView.getRefreshableView().getHeaderViewsCount();
-                    mPullToRefreshListView.getRefreshableView().setSelection(position+count);
+                    int count = mPullToRefreshListView.getRefreshableView().getHeaderViewsCount();
+                    mPullToRefreshListView.getRefreshableView().setSelection(position + count);
                 }
-                if("↑".equals(s)){
+                if ("↑".equals(s)) {
                     mPullToRefreshListView.getRefreshableView().setSelection(1);
                 }
             }
 
             @Override
             public void onTouchingUp() {
-               //linear_top_menu.setVisibility(View.VISIBLE);
+                //linear_top_menu.setVisibility(View.VISIBLE);
             }
         });
 
         mAdapter = new FriendSortAdapter(getActivity(), mSortFriends);
-
         mPullToRefreshListView.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
         mPullToRefreshListView.getRefreshableView().setAdapter(mAdapter);
         mPullToRefreshListView.setAdapter(mAdapter);
@@ -231,9 +240,19 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
         });
 
         mPullToRefreshListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+
+            private Friend friend;   //l临时对象
+
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-                Friend friend = mSortFriends.get((int) id).getBean();
+                try {
+                    friend = mSortFriends.get((int) id).getBean();
+                } catch (ArrayIndexOutOfBoundsException e) {
+                    Log.w("gongpengming", "数组越界");
+                    ToastUtil.showToast(getActivity(),"数组越界");
+                   return;
+                }
+
                 Intent intent = null;
                 if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友消息
                     intent = new Intent(getActivity(), NewFriendActivity.class);
@@ -288,11 +307,12 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
             @Override
             public void run() {
                 long startTime = System.currentTimeMillis();
-                if (mLoginUserId==null)mLoginUserId=MyApplication.getInstance().mLoginUser.getUserId();
+                if (mLoginUserId == null)
+                    mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
                 final List<Friend> friends = FriendDao.getInstance().getFriends(mLoginUserId);
-                Log.i("wang","friends ="+friends);
-                Log.i("wang","friends mloginuserid="+mLoginUserId);
-                if(friends!=null) Log.i("wang","friends size()="+friends.size());
+                Log.i("wang", "friends =" + friends);
+                Log.i("wang", "friends mloginuserid=" + mLoginUserId);
+                if (friends != null) Log.i("wang", "friends size()=" + friends.size());
                 long delayTime = 200 - (startTime - System.currentTimeMillis());// 保证至少200ms的刷新过程
                 if (delayTime < 0) {
                     delayTime = 0;
@@ -387,7 +407,7 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
         editText.setMaxLines(2);
         editText.setLines(2);
         editText.setText(sortFriend.getBean().getShowName());
-        editText.setFilters(new InputFilter[] { new InputFilter.LengthFilter(20) });
+        editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(20)});
         editText.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
 
         AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
@@ -419,7 +439,7 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
     @Override
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
-        mActivity =  getActivity();
+        mActivity = getActivity();
     }
 
     private void remarkFriend(final BaseSortModel<Friend> sortFriend, final String remarkName) {
@@ -461,7 +481,8 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
 
     }
 
-    String HASHCODE=Integer.toHexString(this.hashCode()) + "@";
+    String HASHCODE = Integer.toHexString(this.hashCode()) + "@";
+
     /* 显示加入黑名单的对话框 */
     private void showBlacklistDialog(final BaseSortModel<Friend> sortFriend) {
         final Friend friend = sortFriend.getBean();
@@ -513,7 +534,7 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
                     if (sortFriend.getBean().getStatus() == Friend.STATUS_FRIEND) {// 之前是好友,需要发消息让那个人不能看我的商务圈
                         NewFriendMessage message = NewFriendMessage.createWillSendMessage(MyApplication.getInstance().mLoginUser,
                                 XmppMessage.TYPE_BLACK, null, sortFriend.getBean());
-                      sendNewFriendMessage(sortFriend.getBean().getUserId(), message);// 加入黑名单
+                        sendNewFriendMessage(sortFriend.getBean().getUserId(), message);// 加入黑名单
                     }
 
                     ToastUtil.showToast(getActivity(), R.string.add_blacklist_succ);
@@ -542,10 +563,11 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
             mXmppService.sendNewFriendMessage(toUserId, message);
         }
     }
+
     /**
      * 取消关注
      *
-     * @param friend
+     * @param
      */
     private void showCancelAttentionDialog(final BaseSortModel<Friend> sortFriend) {
         if (sortFriend.getBean().getStatus() == Friend.STATUS_UNKNOW) {
@@ -576,11 +598,9 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
     }
 
     /**
-     *
-     * @param friend
-     * @param type
-     *            0 取消关注 <br/>
-     *            1、彻底删除<br/>
+     * @param
+     * @param type   0 取消关注 <br/>
+     *               1、彻底删除<br/>
      */
     private void deleteFriend(final BaseSortModel<Friend> sortFriend, final int type) {
         HashMap<String, String> params = new HashMap<String, String>();
@@ -591,7 +611,7 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
         if (type == 0) {
             url = MyApplication.getInstance().getConfig().FRIENDS_ATTENTION_DELETE;// 取消关注
         } else {
-            url =MyApplication.getInstance().getConfig().FRIENDS_DELETE;// 删除好友
+            url = MyApplication.getInstance().getConfig().FRIENDS_DELETE;// 删除好友
         }
 
         ProgressDialogUtil.show(mProgressDialog);
@@ -610,12 +630,12 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
                         ToastUtil.showToast(getActivity(), R.string.cancel_attention_succ);
                         NewFriendMessage message = NewFriendMessage.createWillSendMessage(MyApplication.getInstance().mLoginUser,
                                 XmppMessage.TYPE_DELSEE, null, sortFriend.getBean());
-                       // ((CardcastActivity) getActivity()).sendNewFriendMessage(sortFriend.getBean().getUserId(), message);// 解除关注
+                        // ((CardcastActivity) getActivity()).sendNewFriendMessage(sortFriend.getBean().getUserId(), message);// 解除关注
                     } else {
                         ToastUtil.showToast(getActivity(), R.string.delete_all_succ);
                         NewFriendMessage message = NewFriendMessage.createWillSendMessage(MyApplication.getInstance().mLoginUser,
                                 XmppMessage.TYPE_DELALL, null, sortFriend.getBean());
-                      //  ((CardcastActivity) getActivity()).sendNewFriendMessage(sortFriend.getBean().getUserId(), message);// 解除好友
+                        //  ((CardcastActivity) getActivity()).sendNewFriendMessage(sortFriend.getBean().getUserId(), message);// 解除好友
                     }
 
                     FriendHelper.removeAttentionOrFriend(mLoginUserId, sortFriend.getBean().getUserId());
@@ -637,8 +657,6 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
     }
 
 
-
-
     @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
         super.onCreateOptionsMenu(menu, inflater);