Android 开发即时聊天工具 YQ :(八) 添加/删除好友
				
									
					
					
						 | 
						
							
							admin 
							
							
								2013年2月25日 14:28
								本文热度 5483
							
							 
						 | 
					
					
				 
				
国际惯例,先上图:

代码比较简单,只需给listview设置Listener就OK,
当点击删除后,这里没有做提示,会直接删除,删除后应当给服务器发送一个删除好友的包,服务器端更新数据库中的数据。
然后客户端要做的就是更新下好友列表。
具体看代码吧:
- private void setListViewListener() {  
 
-         listView.setOnItemClickListener(new OnItemClickListener(){  
 
-             public void onItemClick(AdapterView<?> a, View v, int position,long l) {  
 
-                 temp= (BuddyEntity) listView.getItemAtPosition(position);  
 
-                   
 
-                 Intent intent=new Intent(BuddyActivity.this,ChatActivity.class);  
 
-                 intent.putExtra("avatar", temp.getAvatar());  
 
-                 intent.putExtra("account",temp.getAccount());  
 
-                 intent.putExtra("nick", temp.getNick());  
 
-                 startActivity(intent);  
 
-             }  
 
-         });  
 
-         listView.setOnItemLongClickListener(new OnItemLongClickListener(){  
 
-             public boolean onItemLongClick(AdapterView<?> arg0, View arg1,int position, long arg3) {  
 
-                 temp= (BuddyEntity) listView.getItemAtPosition(position);  
 
-                 listView.setOnCreateContextMenuListener(new OnCreateContextMenuListener(){  
 
-                     public void onCreateContextMenu(ContextMenu menu,  
 
-                             View arg1, ContextMenuInfo arg2) {  
 
-                         menu.setHeaderTitle("操作");  
 
-                         menu.add(0,0,0,"发起会话");  
 
-                         menu.add(0,1,0,"删除好友");  
 
-                         menu.add(0,2,0,"查看好友资料");  
 
-                     }  
 
-                 });  
 
-                 return false;  
 
-             }  
 
-         });  
 
-     }  
 
-     public boolean onContextItemSelected(MenuItem item) {  
 
-         switch(item.getItemId()){  
 
-         case 0:  
 
-               
 
-             Intent intent=new Intent(BuddyActivity.this,ChatActivity.class);  
 
-             intent.putExtra("avatar", temp.getAvatar());  
 
-             intent.putExtra("account",temp.getAccount());  
 
-             intent.putExtra("nick", temp.getNick());  
 
-             startActivity(intent);  
 
-             break;  
 
-         case 1:  
 
-               
 
-             SendMessage.sendADbuddy(MoreActivity.me.getAccount(),   
 
-                     temp.getAccount(),   
 
-                     YQMessageType.DEL_BUDDY);  
 
-               
 
-             for(int i=0;i<buddyEntityList.size();i++){  
 
-                 if((buddyEntityList.get(i).getAccount())==temp.getAccount()){  
 
-                     buddyEntityList.remove(i);  
 
-                 }  
 
-             }  
 
-             listView = (ListView) findViewById(R.id.listview);  
 
-             ba=new BuddyAdapter(this,buddyEntityList);  
 
-             listView.setAdapter(ba);  
 
-             break;  
 
-         case 2:  
 
-               
 
-             break;  
 
-         }  
 
-         return super.onContextItemSelected(item);  
 
-     }  
 
  
该文章在 2013/2/25 14:28:50 编辑过