package com.partynetwork.iparty.imessage; import android.app.Activity; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; import android.os.Handler.Callback; import android.os.Message; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageView; import android.widget.TextView; import com.partynetwork.iparty.R; import com.partynetwork.iparty.app.AppContext; import com.partynetwork.iparty.app.AppException; import com.partynetwork.iparty.app.common.BitmapManager; import com.partynetwork.iparty.app.common.UIHelper; import com.partynetwork.iparty.app.entities.CommonUser; import com.partynetwork.iparty.app.manager.UserManager; import com.partynetwork.iparty.info.UserInfo; import com.partynetwork.myview.myimageview.CircularImage; /** * 聊天-功能选择界面 */ public class MessageSplashActivity extends Activity implements OnClickListener, Callback { private CircularImage head; private TextView name; private int Uid; private CommonUser user; private Handler mHandler; private BitmapManager bitmapManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.message_splash); Uid = getIntent().getIntExtra("Uid", 0); initView(); initData(); } private void initData() { mHandler = new Handler(this); bitmapManager = new BitmapManager(); user = UserManager.getInstance(this).getUserbyId(Uid + ""); if (user == null) { getUserInfo(Uid); } else { initViewData(); } } private void initViewData() { if (user == null) { return; } bitmapManager.loadBitmap(user.getUserHeadUrl(), head); name.setText(user.getUserName()); // 性别 int res = 0; switch (user.getUserSex()) { case 0: res = R.drawable.sex_boy_big_pressed; break; case 1: res = R.drawable.sex_girl_big_pressed; break; case 2: res = R.drawable.sex_neutral_big_pressed; break; default: res = R.drawable.sex_boy_big_pressed; break; } Drawable drawable = getResources().getDrawable(res); drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight()); name.setCompoundDrawables(null, null, drawable, null); } /** * 获得用户信息 * * @param userId */ private void getUserInfo(final int userId) { new Thread() { public void run() { Message msg = new Message(); try { AppContext context = (AppContext) getApplication(); UserInfo info = context.getUserInfo(userId); CommonUser user = new CommonUser(); user.setUserAge(info.getUserAge()); user.setUserHeadUrl(info.getUserHeadUrl()); user.setUserId(info.getUserId()); user.setUserName(info.getUserName()); user.setUserSex(info.getUserSex()); user.setUserState(info.getUserState()); msg.what = 2;// 成功 msg.obj = user; } catch (AppException e) { e.printStackTrace(); msg.what = -1; msg.obj = e; } mHandler.sendMessage(msg); } }.start(); } private void initView() { initHeadView(); head = (CircularImage) findViewById(R.id.head); name = (TextView) findViewById(R.id.name); findViewById(R.id.show_center_ll).setOnClickListener(this); findViewById(R.id.message).setOnClickListener(this); } private void initHeadView() { findViewById(R.id.menu_head_left).setOnClickListener(this); findViewById(R.id.menu_head_middle).setOnClickListener(this); findViewById(R.id.menu_head_right).setOnClickListener(this); ImageView mHeadLeftImage = (ImageView) findViewById(R.id.menu_head_left_iv); mHeadLeftImage.setImageResource(R.drawable.menu_head_back); TextView mHeadTitle = (TextView) findViewById(R.id.menu_head_middle_text); mHeadTitle.setText("详细信息"); mHeadTitle.setTextColor(Color.BLACK); ImageView mHeadMiddleImage = (ImageView) findViewById(R.id.menu_head_middle_img); mHeadMiddleImage.setVisibility(View.GONE); ImageView mHeadRightImage = (ImageView) findViewById(R.id.menu_head_right_iv); mHeadRightImage.setVisibility(View.INVISIBLE); } public void onClick(View view) { switch (view.getId()) { case R.id.menu_head_left: // 关闭 finish(); break; case R.id.show_center_ll: UIHelper.showUserCenter(this, Uid); finish(); break; case R.id.message: UIHelper.showChat(this, Uid + ""); finish(); break; default: break; } } @Override public boolean handleMessage(Message msg) { switch (msg.what) { case 2: // 成功获取用户信息 user = (CommonUser) msg.obj; if (user == null) { return false; } UserManager.getInstance(this).saveOrUpdateUser(user); initViewData(); break; default: break; } return false; } @Override protected void onPause() { super.onPause(); } @Override protected void onResume() { super.onResume(); } }