package com.partynetwork.iparty.contacts; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import com.partynetwork.dataprovider.DataProvider.IJsonResultListener; import com.partynetwork.dataprovider.json.NetworkEntity; import com.partynetwork.dataprovider.json.struct.Contacts_getRecommendArrayRequest; import com.partynetwork.dataprovider.json.struct.Contacts_getRecommendArrayResponse; import com.partynetwork.dataprovider.json.struct.Contacts_searchUserRequest; import com.partynetwork.dataprovider.json.struct.Contacts_searchUserResponse; import com.partynetwork.dataprovider.util.T; import com.partynetwork.iparty.R; import com.partynetwork.iparty.R.color; import com.partynetwork.iparty.app.AppContext; import com.partynetwork.iparty.app.entities.CommonUser; import com.lidroid.xutils.ViewUtils; import com.lidroid.xutils.view.annotation.ViewInject; import com.lidroid.xutils.view.annotation.event.OnClick; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.view.View; import android.widget.EditText; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.RelativeLayout; import android.widget.TextView; public class ContactsRecommendActivity extends Activity implements IJsonResultListener { public static final String PAGE_TYPE = "pageType"; /** 推荐的好友列表 */ public static final int RECOMMEND = 0; /** 查找好友 */ public static final int SEARCH = 1; /** * 返回按钮 */ @ViewInject(R.id.menu_head_left) private LinearLayout backBtn; /** * 页面标题 */ @ViewInject(R.id.menu_head_middle_text) private TextView headTitle; /** * 确定按钮 */ @ViewInject(R.id.menu_head_right) private RelativeLayout searchBtn; /** * 确定的文本框 */ @ViewInject(R.id.menu_head_right_tv) private TextView rightTv; /** * 设置按钮 */ @ViewInject(R.id.menu_head_right_iv) private ImageView rightIv; /** * 搜索的外围布局 */ @ViewInject(R.id.search_rl) private LinearLayout searchRl; /** * 搜索文本输入框 */ @ViewInject(R.id.search_et) private EditText searchEt; /** * 下方显示内容的listview */ @ViewInject(R.id.listview) private ListView listview; /** 页面类型 */ private int pageType; /** * 存放当前显示好友 */ private List<CommonUser> filterDateList = new ArrayList<CommonUser>(); /** 列表适配器 */ private ContactsRecommendAdapter adapter; /** * 覆盖方法 * * @see android.app.Activity#onCreate(android.os.Bundle) */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.contacts_recommend); ViewUtils.inject(this); init(); } /** * 初始化 */ private void init() { pageType = getIntent().getIntExtra(PAGE_TYPE, RECOMMEND); searchBtn.setClickable(false); if (pageType == RECOMMEND) { headTitle.setText("推荐"); rightTv.setVisibility(View.GONE); searchRl.setVisibility(View.GONE); sendRequest(); } else { headTitle.setText("查询用户"); rightTv.setText("查找"); rightTv.setVisibility(View.VISIBLE); searchRl.setVisibility(View.VISIBLE); searchEt.addTextChangedListener(new TextWatcher() { public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } public void afterTextChanged(Editable s) { if (0 < s.toString().length()) { searchEt.setTextColor(Color.BLACK); searchEt.setBackgroundResource(R.drawable.stroke_single_select); searchBtn.setClickable(true); rightTv.setTextColor(getResources().getColor( R.color.blue_text)); } else { searchEt.setTextColor(color.lightgray); searchEt.setBackgroundResource(R.drawable.stroke_single); searchBtn.setClickable(false); rightTv.setTextColor(getResources().getColor( R.color.gray)); } } }); } } /** * 点击事件监听 * * @param v */ @OnClick({ R.id.menu_head_left, R.id.menu_head_right }) public void onClick(View view) { switch (view.getId()) { case R.id.menu_head_left: // 关闭当前举报窗口 finish(); break; case R.id.menu_head_right: // 查找 sendSearchRequest(); break; default: break; } } /** * 发送查找请求 */ private void sendSearchRequest() { AppContext context=(AppContext) getApplication(); Contacts_searchUserRequest request = new Contacts_searchUserRequest(); request.setFromUserId(context.getLoginUid()); request.setContent(searchEt.getText().toString()); request.setType(2); context.getmDataProvider().getJsonFromNetwork(request, this); } /** * 发送获取用户的请求 */ private void sendRequest() { AppContext context=(AppContext) getApplication(); Contacts_getRecommendArrayRequest request = new Contacts_getRecommendArrayRequest(); request.setUserId(context.getLoginUid()); context.getmDataProvider().getJsonFromNetwork(request, this); } /** * 初始化listview */ private void initListView() { adapter = new ContactsRecommendAdapter(this, filterDateList); listview.setAdapter(adapter); } public void onNetworkRequest() { } public void onResultSuccess(NetworkEntity entity) { // 推荐的人 if (entity.getRequest().getAction() .equals(new Contacts_getRecommendArrayRequest().getAction())) { Contacts_getRecommendArrayResponse recommendArrayResponse = (Contacts_getRecommendArrayResponse) entity .getResponse(); CommonUser[] infoArray = recommendArrayResponse.getDetails(); filterDateList = Arrays.asList(infoArray); initListView(); } // 查找的用户 if (entity.getRequest().getAction() .equals(new Contacts_searchUserRequest().getAction())) { Contacts_searchUserResponse searchUserResponse = (Contacts_searchUserResponse) entity .getResponse(); CommonUser[] infoArray = searchUserResponse.getDetails(); filterDateList = Arrays.asList(infoArray); initListView(); } } public void onResultFail(String result) { T.showTips(this, R.drawable.tips_error, result); } }