package com.yeetou.xinyongkaguanjia.ui; import java.util.List; import com.yeetou.xinyongkaguanjia.R; import com.yeetou.xinyongkaguanjia.constants.AppConstant; import com.yeetou.xinyongkaguanjia.db.base.DbEmail; import com.yeetou.xinyongkaguanjia.db.service.DbAccountService; import com.yeetou.xinyongkaguanjia.db.service.DbEmailService; import com.yeetou.xinyongkaguanjia.http.service.EmailUnbind; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; import android.util.Log; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnLongClickListener; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; public class BEmailActivity extends AbstractActivity { private LinearLayout b_email_bg; private LinearLayout b_email_add; private DbEmailService dbes; private List<DbEmail> dbEmails; private DbAccountService dbAccountService; private String email_delet; private LinearLayout LinearLayout_Ab_Left_Indicator; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_b_email); b_email_bg = (LinearLayout) findViewById(R.id.b_email_bg); dbes = new DbEmailService(this); dbEmails = dbes.getAllEmail(); dbAccountService = new DbAccountService(this); if (dbEmails.size() != 0) { b_email_bg.setVisibility(View.VISIBLE); } this.findViewById(R.id.ImageView_Ab_Left_Indicator).setVisibility(View.VISIBLE); b_email_add = (LinearLayout) findViewById(R.id.b_email_add); b_email_add.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent toEmailAdd = new Intent(BEmailActivity.this, BEmialAddActivity.class); startActivityForResult(toEmailAdd, 1); } }); LinearLayout_Ab_Left_Indicator = (LinearLayout)findViewById(R.id.LinearLayout_Ab_Left_Indicator); LinearLayout_Ab_Left_Indicator.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub finish(); } }); initEmail(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if (requestCode == 1) { if (resultCode != RESULT_OK) { return; } dbEmails = dbes.getAllEmail(); // 设置其为显示 b_email_bg.setVisibility(View.VISIBLE); b_email_bg.removeAllViews(); initEmail(); } } public void initEmail() { for (final DbEmail dbEmail : dbEmails) { View view = View.inflate(BEmailActivity.this, R.layout.login_add_email_item, null); TextView email = (TextView) view.findViewById(R.id.login_add_email_name); email.setText(dbEmail.getEmail()); // 添加邮箱 view.setOnLongClickListener(new OnLongClickListener() { @Override public boolean onLongClick(View arg0) { // TODO Auto-generated method stub Log.d("alert", "alert"); Dialog dialog = new AlertDialog.Builder(BEmailActivity.this).setTitle("系统提示").setMessage("是否确认解绑该邮箱").setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub new Thread(new EmailUnbind(BEmailActivity.this, mHandler, dbAccountService.get().getEmail(), dbAccountService.get().getSecret(), dbEmail.getEmail())).start(); email_delet = dbEmail.getEmail(); } }).setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }).create(); dialog.show(); return true; } }); view.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Log.d("BEmailActivity", "clicked"); } }); b_email_bg.addView(view); } } public Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub super.handleMessage(msg); switch (msg.what) { case AppConstant.HANDLER_MESSAGE_NORMAL: Toast.makeText(BEmailActivity.this, "解绑成功", Toast.LENGTH_SHORT).show(); dbes.deleteOne(email_delet); dbEmails = dbes.getAllEmail(); b_email_bg.removeAllViews(); initEmail(); if (b_email_bg.getChildCount() == 0) { b_email_bg.setVisibility(View.GONE); // 将布局隐藏不占用上面空间 } break; case AppConstant.HANDLER_MESSAGE_NONETWORK: break; case AppConstant.HANDLER_MESSAGE_TIMEOUT: break; case AppConstant.HANDLER_HTTPSTATUS_ERROR: break; } } }; }