package com.jiuqi.njt.ui;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.TextView;
import com.amap.api.search.core.LatLonPoint;
import com.jiuqi.mobile.nigo.comeclose.bean.LoadOnGetList;
import com.jiuqi.mobile.nigo.comeclose.bean.NiGoBean;
import com.jiuqi.mobile.nigo.comeclose.bean.app.collect.DealerServiceBean;
import com.jiuqi.mobile.nigo.comeclose.bean.app.collect.DrivingSchoolServiceBean;
import com.jiuqi.mobile.nigo.comeclose.bean.app.collect.GasStationServiceBean;
import com.jiuqi.mobile.nigo.comeclose.bean.app.collect.RepairServiceBean;
import com.jiuqi.mobile.nigo.comeclose.bean.app.collect.ServiceCollectBean;
import com.jiuqi.mobile.nigo.comeclose.bean.app.coop.CooperBean;
import com.jiuqi.mobile.nigo.comeclose.bean.base.AdminAreaBean;
import com.jiuqi.mobile.nigo.comeclose.manager.app.IServiceCollectManager;
import com.jiuqi.mobile.nigo.comeclose.manager.app.SelectServiceKey;
import com.jiuqi.mobile.nigo.comeclose.manager.master.ICooperManager;
import com.jiuqi.mobile.nigo.comeclose.manager.master.SelectCooperKey;
import com.jiuqi.mobile.nigo.comeclose.ws.client.ClientContext;
import com.jiuqi.njt.R;
import com.jiuqi.njt.data.MyApp;
import com.jiuqi.njt.data.OptsharepreInterface;
import com.jiuqi.njt.model.CModuleBean;
import com.jiuqi.njt.model.NjBuTie;
import com.jiuqi.njt.ui.xxcj.AddInfo;
import com.jiuqi.njt.ui.xxcj.XxcxDetail;
import com.jiuqi.njt.util.Constants;
import com.jiuqi.njt.util.DateUtil;
import com.jiuqi.njt.util.UIUtil;
import com.jiuqi.njt.util.XzqhUtil;
import com.jiuqi.njt.widget.ProgressDialogStyle;
import com.jiuqi.njt.widget.XListView;
import com.jiuqi.njt.widget.XListView.IXListViewListener;
import com.jiuqi.njt.widget.XListView.ListFooteState;
/**============================================================
* 版权: 久其软件 版权所有 (c)
* 包:
* 修改记录:
* 日期 作者 内容
* =============================================================
* 2013-6-13 liyue
* ============================================================*/
/**
* <p>
* 查询结果界面
* </p>
*
* <p>
* Copyright: 版权所有 (c)<br>
* Company: 久其
* </p>
*
* @author liyue
* @version 2013-6-13
*/
public class SearchResultActivityReceiveParams extends Activity implements
IXListViewListener, OnClickListener, OnScrollListener {
private XListView listView;
private MyListAdapter mAdapter;
private AdminAreaBean xzqh; // 所在地
@SuppressWarnings("rawtypes")
private Class[] clz = new Class[] { RepairServiceBean.class,
GasStationServiceBean.class, DealerServiceBean.class,
DrivingSchoolServiceBean.class }; // 服务网点和服务机构查询类型
private int idxInfoType = -1; // 查询类型下标
private long startIndex = 0;
private int totalCount = 0;
private MyApp application;
private String name; // 关键字
private String flag = ""; // 信息查询的类别标示
private boolean isFirst = true; // 信息查询是不是第一次需要显示进度条
private boolean xxcj; // 区别信息采集查询
private String from; // 区别合作社查询
private int type; // 区别相同类别不同类型的标示
private ArrayList<ServiceCollectBean> servicelList = new ArrayList<ServiceCollectBean>();
private ArrayList<CooperBean> cooperList = new ArrayList<CooperBean>();
private CModuleBean moduleBean; // 区别模块定制标示
private Button backLeft = null;
private Button actionRight = null;
private EditText etSearch = null;
private ImageView ivDeleteText = null;
private int tvAction = 0;
private Button addButton;
private boolean xxcjflag;
private OptsharepreInterface sharePre;
private double startPointLatitude;
private double startPointLongitude;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
doinit();
}
private void doinit() {
initParam();
initWidgets();
initListeners();
}
@SuppressLint("NewApi")
private void initParam() {
sharePre = new OptsharepreInterface(this);
application = (MyApp) getApplicationContext();
moduleBean = (CModuleBean) getIntent().getSerializableExtra(
Constants.PARAM_MODULEBEAN);
// 如果是来自模块定制跳转,就直接默认初始化查询条件,否则就接收Intent 传值
if (null != moduleBean) {
switch (moduleBean.getModuleFlag()) {
case jstg:
idxInfoType = 3;
type = 1;
flag = "service";
break;
case zlts:
idxInfoType = 3;
type = 2;
flag = "service";
break;
case aqjl:
idxInfoType = 3;
type = 3;
flag = "service";
break;
case pxjg:
idxInfoType = 3;
type = 4;
flag = "service";
break;
case syjd:
idxInfoType = 3;
type = 5;
flag = "service";
break;
case njjx:
idxInfoType = 3;
type = 6;
flag = "service";
break;
case wxjg:
idxInfoType = 3;
type = 7;
flag = "service";
break;
case njj:
// idxInfoType = 0;
// flag = "service";
break;
case jyz:
idxInfoType = 1;
flag = "service";
break;
case wxd:
idxInfoType = 0;
flag = "service";
break;
case jxs:
idxInfoType = 2;
flag = "service";
break;
case hzs:
idxInfoType = 3;
flag = "cooper";
break;
case hzscj:
idxInfoType = -1;
xxcj = true;
flag = "cooper";
xxcjflag = true;
break;
case jyzcj:
idxInfoType = 1;
xxcj = true;
flag = "service";
xxcjflag = true;
break;
case wxdcj:
idxInfoType = 0;
xxcj = true;
flag = "service";
xxcjflag = true;
break;
default:
break;
}
} else {
idxInfoType = getIntent().getIntExtra(Constants.PARAM_ID, -1);
from = getIntent().getStringExtra("from");
flag = getIntent().getStringExtra("flag");
if (!"ServiceAgencies".equals(from)) {
if ("service".equals(flag) && idxInfoType == 3) {
flag = "cooper";
}
}
type = getIntent().getIntExtra("type", 0);
xxcj = getIntent().getBooleanExtra("XXCJ", false);
}
Log.wtf("typetypetype", type+"");
name = getIntent().getStringExtra(Constants.PARAM_NAME);
Serializable serializableExtra = getIntent().getSerializableExtra(
Constants.PARAM_XZQH);
if (null != serializableExtra) {
if (serializableExtra instanceof AdminAreaBean) {
AdminAreaBean new_name = (AdminAreaBean) serializableExtra;
xzqh = new_name;
}
}
}
@SuppressLint("NewApi")
private void initWidgets() {
setContentView(R.layout.layout_tem_xlistview);
startPointLatitude = UIUtil.tryToDouble(sharePre.getPres(Constants.PREFERENCE_KEY_LATITUDE));
startPointLongitude = UIUtil.tryToDouble(sharePre.getPres(Constants.PREFERENCE_KEY_LONGITUDE));
backLeft = (Button) findViewById(R.id.backleft);
actionRight = (Button) findViewById(R.id.actionright);
etSearch = (EditText) findViewById(R.id.etSearch);
addButton = (Button) findViewById(R.id.add_bottom);
listView = (XListView) findViewById(R.id.listView);
ivDeleteText = (ImageView) findViewById(R.id.ivDeleteText);
if (xxcjflag) {
addButton.setVisibility(View.VISIBLE);
// addButton.setOnClickListener(this);
addButton.setOnTouchListener(new MyButtonTouchListener());
} else {
addButton.setVisibility(View.GONE);
}
//
addBtnLayout(addButton);
// 异步任务查询
if ("service".equals(flag)) {
new getQueryResultAsyncTask().execute();// 服务网点(服务机构)查询
} else if ("cooper".equals(flag)) {// 合作社查询
new getCooperQueryResultAsyncTask().execute();
}
}
private void initListeners() {
// TODO Auto-generated method stub
backLeft.setOnClickListener(this);
actionRight.setOnClickListener(this);
ivDeleteText.setOnClickListener(this);
listView.setXListViewListener(this);
listView.setPullLoadEnable(true);
listView.setOnScrollListener(this);
erSearchListener();
// setFootHintText();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
// 接受Intent传值,如果有值,根据新的查询条件 从新查询.
if (requestCode == Constants.REQUEST_XZQH_CODE) {
if (resultCode == RESULT_OK) {
AdminAreaBean xzqh = (AdminAreaBean) data
.getSerializableExtra(Constants.PARAM_XZQH);
this.xzqh = xzqh;
isFirst = true;
startIndex = 0;
toQuery();
}
}
}
// etSearch监听事件方法
private void erSearchListener() {
etSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
if (s.length() == 0) {
ivDeleteText.setVisibility(View.INVISIBLE);
actionRight.setText("筛选");
tvAction = 0;
} else {
ivDeleteText.setVisibility(View.VISIBLE);
actionRight.setText("搜索");
tvAction = 1;
}
}
});
}
@SuppressLint("NewApi")
private void addBtnLayout(Button btn) {
DisplayMetrics dmMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dmMetrics);
// 服务网点查询list设置
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.height = dmMetrics.widthPixels / 10;
params.width = dmMetrics.heightPixels / 11;
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
params.addRule(RelativeLayout.CENTER_VERTICAL);
addButton.setLayoutParams(params);
}
// 服务网点查询list设置
private void initUI(ArrayList<ServiceCollectBean> items) {
setFootHintText();
servicelList.addAll(items);
mAdapter = new MyListAdapter(this, servicelList);
listView.setAdapter(mAdapter);
onLoad();
}
// 合作社查询list设置
private void initUINew(ArrayList<CooperBean> items) {
setFootHintText();
mAdapter = new MyListAdapter(this, cooperList);
listView.setAdapter(mAdapter);
onLoad();
}
@SuppressLint("NewApi")
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.backleft:
this.finish();
break;
case R.id.actionright:
if (tvAction == 0) {
UIUtil.requestQuery(SearchResultActivityReceiveParams.this,
xzqh, moduleBean.getModuleFlag());
} else {
isFirst = true;
startIndex = 0;
name = etSearch.getText().toString().trim();
tvAction = 0;
actionRight.setText("筛选");
toQuery();
}
break;
case R.id.ivDeleteText:
etSearch.setText("");
break;
// case R.id.add_bottom:
// Intent intent = new Intent(SearchResultActivityReceiveParams.this,
// AddInfo.class);
// startActivity(intent);
default:
break;
}
}
private void onLoad() {
listView.setSelection(((int)(startIndex))-totalCount);
listView.stopRefresh();
listView.stopLoadMore();
listView.setRefreshTime(DateUtil.getTimeStamp(new Date(),
DateUtil.MM_DD_HH_MM_SS));
}
@Override
public void onRefresh() {
startIndex = 0;
toQuery();
}
@Override
public void onLoadMore() {
if (startIndex%Constants.PAGE_SIZE == 0) {
toQuery();
} else {
UIUtil.showMsg(SearchResultActivityReceiveParams.this, "没有更多");
onLoad();
}
}
public void setFootHintText() {
if (totalCount == 0 ) {
listView.setListFooteState(ListFooteState.noData);
} else if(totalCount % Constants.PAGE_SIZE != 0){
listView.setListFooteState(ListFooteState.noMoreData);
}else {
listView.setListFooteState(ListFooteState.nomal);
}
listView.showNoData();
}
@SuppressLint("NewApi")
private void toQuery() {
if ("service".equals(flag)) {
new getQueryResultAsyncTask().execute();
} else if ("cooper".equals(flag)) {
new getCooperQueryResultAsyncTask().execute();
}
}
/**
* (//服务网点查询)
*/
private class getQueryResultAsyncTask extends
AsyncTask<Void, Void, ArrayList<ServiceCollectBean>> {
Dialog pd = null;
@Override
protected void onPreExecute() {
if (isFirst) {
pd = ProgressDialogStyle.createLoadingDialog(
SearchResultActivityReceiveParams.this, null);
pd.show();
isFirst = false;
}
}
@SuppressWarnings("unchecked")
@Override
protected ArrayList<ServiceCollectBean> doInBackground(Void... params) {
ArrayList<ServiceCollectBean> seviceCollectList = new ArrayList<ServiceCollectBean>();
LoadOnGetList<? extends ServiceCollectBean> jobnewslist = new LoadOnGetList<ServiceCollectBean>();
try {
ClientContext context = application.getClientContext();
if (!application.getIsLogin()) {
context = null;
}
if (null == context) {
context = ClientContext.getClientContext(
Constants.SERVER_URL, Constants.ANONYMOUS,
Constants.ANONYMOUS);
application.setClientContext(context);
}
SelectServiceKey key = new SelectServiceKey();
key.setSearchStr(name);
key.setSize(Constants.PAGE_SIZE);
key.setStartIndex(startIndex);
key.setOrgType(type);
long code = 0;
if (null != xzqh) {
code = xzqh.getCode();
} else {
code = new XzqhUtil(context).searchAread(
application.getProvince(), application.getCity(),
null);
}
key.setAdminAreaCode(code);
IServiceCollectManager manager = context
.getManager(IServiceCollectManager.class);
if (clz[idxInfoType] == DrivingSchoolServiceBean.class) {
key.setRoleCode(15);
}
if (startIndex == 0) {
servicelList = new ArrayList<ServiceCollectBean>();
}
jobnewslist = manager.getLoad(clz[idxInfoType], key);
seviceCollectList = (ArrayList<ServiceCollectBean>) jobnewslist
.getList();
startIndex += seviceCollectList.size();
totalCount = seviceCollectList.size();
} catch (Exception e) {
removeDialog(1);
e.printStackTrace();
}
return seviceCollectList;
}
@Override
protected void onPostExecute(ArrayList<ServiceCollectBean> result) {
initUI(result);
if (null != pd) {
pd.dismiss();
}
}
}
/**
* 提交信息 (//合作社查询)
*/
private class getCooperQueryResultAsyncTask extends
AsyncTask<Void, Void, ArrayList<CooperBean>> {
Dialog pd = null;
@Override
protected void onPreExecute() {
if (isFirst) {
pd = ProgressDialogStyle.createLoadingDialog(
SearchResultActivityReceiveParams.this, null);
pd.show();
isFirst = false;
}
}
@SuppressLint("NewApi")
@Override
protected ArrayList<CooperBean> doInBackground(Void... params) {
ArrayList<CooperBean> cooperArrayList = new ArrayList<CooperBean>();
try {
LoadOnGetList<CooperBean> jobnewslist = new LoadOnGetList<CooperBean>();
ClientContext context = application.getClientContext();
if (!application.getIsLogin()) {
context = null;
}
if (null == context) {
context = ClientContext.getClientContext(
Constants.SERVER_URL, Constants.ANONYMOUS,
Constants.ANONYMOUS);
application.setClientContext(context);
}
long code = 0;// 代表查全部
if (null != xzqh) {
code = xzqh.getCode();
} else {
code = new XzqhUtil(context).searchAread(
application.getProvince(), application.getCity(),
null);
}
ICooperManager manager1 = context
.getManager(ICooperManager.class);
SelectCooperKey keyCooper = new SelectCooperKey();
keyCooper.setSize(Constants.PAGE_SIZE);
keyCooper.setStartIndex(startIndex);
keyCooper.setAdminAreaCode(code);
keyCooper.setCooperativeName(name);
keyCooper.setSortField("power("+sharePre.getPres(Constants.PREFERENCE_KEY_LONGITUDE)+"-longitude,2)+power("+sharePre.getPres(Constants.PREFERENCE_KEY_LATITUDE)+"- latitude,2)");
if (startIndex == 0) {
cooperList = new ArrayList<CooperBean>();
}
jobnewslist = manager1.search(keyCooper);
cooperArrayList = (ArrayList<CooperBean>) jobnewslist.getList();
startIndex +=cooperArrayList.size();
totalCount = cooperArrayList.size();
cooperList.addAll(cooperArrayList);
} catch (Exception e) {
removeDialog(1);
e.printStackTrace();
}
return cooperArrayList;
}
@Override
protected void onPostExecute(ArrayList<CooperBean> result) {
initUINew(result);
if (null != pd) {
pd.dismiss();
}
}
}
class MyListAdapter extends BaseAdapter {
private Context context;
private ArrayList<ServiceCollectBean> service_items = new ArrayList<ServiceCollectBean>();
private List<CooperBean> cooper_items = new ArrayList<CooperBean>();
List<NjBuTie> njBuTieList = new ArrayList<NjBuTie>();
private LayoutInflater flater;
private boolean isService;
private String flag;
public MyListAdapter(Context context,
ArrayList<ServiceCollectBean> items) {
this.context = context;
if (null != items) {
this.service_items = items;
}
isService = true;
flag = "service";
flater = LayoutInflater.from(context);
}
public MyListAdapter(Context context, List<CooperBean> items) {
this.context = context;
if (null != items) {
this.cooper_items = items;
}
isService = false;
flag = "cooper";
flater = LayoutInflater.from(context);
}
public MyListAdapter(SearchResultActivityReceiveParams context2,
List<NjBuTie> njBuTieList) {
this.context = context2;
if (null != njBuTieList) {
this.njBuTieList = njBuTieList;
}
isService = false;
flag = "njbt";
flater = LayoutInflater.from(context);
}
@Override
public int getCount() {
if (isService) {
return service_items.size();
} else if ("cooper".equals(flag)) {
return cooper_items.size();
} else {
return njBuTieList.size();
}
}
@Override
public Object getItem(int position) {
if (isService) {
return service_items.get(position);
} else if ("cooper".equals(flag)) {
return cooper_items.get(position);
} else {
return njBuTieList.get(position);
}
}
@Override
public long getItemId(int position) {
return position;
}
@SuppressLint("NewApi")
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (null == convertView) {
holder = new ViewHolder();
convertView = flater.inflate(R.layout.listview_item, null);
RelativeLayout rlWrapper = (RelativeLayout) convertView.findViewById(R.id.rlWrapper);
LinearLayout linearTwo = (LinearLayout) convertView.findViewById(R.id.linearTwo);
TextView textTop = (TextView) convertView.findViewById(R.id.weatherTvTitle);
TextView text_top = (TextView) convertView.findViewById(R.id.text_top);
TextView peopleRe = (TextView) convertView
.findViewById(R.id.peopleRe);
TextView textBottomLeft = (TextView) convertView
.findViewById(R.id.tvDate);
Button mapBt=(Button)convertView.findViewById(R.id.Mapbtn);
Button phonebt=(Button)convertView.findViewById(R.id.PhonebtnCall);
ImageView img = (ImageView)convertView.findViewById(R.id.arrow);
img.setVisibility(View.GONE);
if ("cooper".equals(flag)) {
rlWrapper.setVisibility(View.GONE);
linearTwo.setVisibility(View.VISIBLE);
}
holder.tvTitle = textTop;
holder.tvDate = textBottomLeft;
holder.text_top = text_top;
holder.peopleRe = peopleRe;
holder.mapbt=mapBt;
holder.phonebt=phonebt;
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
final NiGoBean _obj;
ServiceCollectBean service = null;
// CooperBean cooper = null;
String title = "";
String peopleRe = "";
String phoneRe = "";
if (isService) {
_obj = service_items.get(position);
service = (ServiceCollectBean) _obj;
title = service.getName();
} else if ("cooper".equals(flag)) {
_obj = cooper_items.get(position);
// cooper = (CooperativeBean) _obj;
title = cooper_items.get(position).getCoopName();
peopleRe = cooper_items.get(position).getChargePerson();
phoneRe = cooper_items.get(position).getTelephone();
} else {
_obj = njBuTieList.get(position);
title = njBuTieList.get(position).getFactoryName();
}
//合作社信息显示
if ("cooper".equals(flag)) {
//合作社名称、负责人、和联系电话。
holder.text_top.setText(title);
holder.peopleRe.setText(peopleRe+" | "+phoneRe);
holder.mapbt.setOnClickListener(new BtnMapOnClickListener(new LatLonPoint(cooper_items.get(position).getLatitude(), cooper_items.get(position)
.getLongitude())));
holder.phonebt.setOnClickListener(new BtnPhoneCallOnClickListener(phoneRe));
} else {
holder.tvTitle.setText(title);
holder.tvDate.setText(DateUtil.getTimeStamp(_obj.getCreateDate(),
DateUtil.YY_MM_DD));
}
convertView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (xxcj) {
Intent intent = new Intent(context, XxcxDetail.class);
intent.putExtra("bean", _obj);
intent.putExtra("flag", flag);
startActivity(intent);
} else {
Intent intent = new Intent(context,
QueryDetailActivity.class);
intent.putExtra("bean", _obj);
intent.putExtra("flag", flag);
startActivity(intent);
}
}
});
return convertView;
}
}
class ViewHolder {
public TextView tvTitle;
public TextView tvDate;
public TextView text_top,peopleRe;
public Button mapbt,phonebt;
}
/**
*
* Description: 弹出提示框 Title: onCreateDialog
*
* @param id
* @return
* @see android.app.Activity#onCreateDialog(int)
*/
protected Dialog onCreateDialog(int id) {
ProgressDialog dialog = new ProgressDialog(
SearchResultActivityReceiveParams.this);
dialog.setIndeterminate(true);
dialog.setCancelable(true);
switch (id) {
case 1:
dialog.setMessage("正在获取信息,请稍候……");
break;
case 2:
break;
case 3:
break;
}
return dialog;
}
@Override
protected void onDestroy() {
super.onDestroy();
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
switch (scrollState) {
case OnScrollListener.SCROLL_STATE_FLING:// 滚动状态
addButton.setVisibility(View.GONE);
break;
case OnScrollListener.SCROLL_STATE_IDLE:// 空闲状态
if (xxcjflag) {
addButton.setVisibility(View.VISIBLE);
}
break;
case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:// 触摸后滚动
addButton.setVisibility(View.GONE);
break;
default:
break;
}
}
private class MyButtonTouchListener implements OnTouchListener {
DisplayMetrics dm = getResources().getDisplayMetrics();
final int screenWidth = dm.widthPixels;
final int screenHeight = dm.heightPixels - 50;
int x = 0, y = 0;
int lastX, lastY;
@SuppressLint("NewApi")
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int ea = event.getAction();
Log.i("TAG", "Touch:" + ea);
switch (ea) {
case MotionEvent.ACTION_DOWN:
lastX = (int) event.getRawX();
lastY = (int) event.getRawY();
// //按住事件发生后执行代码的区域
x = lastX;
y = lastY;
break;
/**
* layout(l,t,r,b) l Left position, relative to parent t Top
* position, relative to parent r Right position, relative to parent
* b Bottom position, relative to parent
* */
case MotionEvent.ACTION_MOVE:
// 移动事件发生后执行代码的区域
// addButton.setClickable(false);
int dx = (int) event.getRawX() - lastX;
int dy = (int) event.getRawY() - lastY;
int left = v.getLeft() + dx;
int top = v.getTop() + dy;
int right = v.getRight() + dx;
int bottom = v.getBottom() + dy;
if (left < 0) {
left = 0;
right = left + v.getWidth();
}
if (right > screenWidth) {
right = screenWidth;
left = right - v.getWidth();
}
if (top < 0) {
top = 0;
bottom = top + v.getHeight();
}
if (bottom > screenHeight) {
bottom = screenHeight;
top = bottom - v.getHeight();
}
v.layout(left, top, right, bottom);
lastX = (int) event.getRawX();
lastY = (int) event.getRawY();
break;
case MotionEvent.ACTION_UP:
// 松开事件发生后执行代码的区域
Log.wtf("875", x + "= x" + y + " = y");
Log.wtf("875", lastX + "= x" + lastY + " = y");
if (lastX == x && lastY == y) {
Intent intent = new Intent(
SearchResultActivityReceiveParams.this,
AddInfo.class);
intent.putExtra(Constants.PARAM_MODULEBEAN, moduleBean);
startActivity(intent);
}
break;
}
return false;
}
/**
* 当按钮被点击的时候调用
*/
}
private class BtnMapOnClickListener implements OnClickListener{
private LatLonPoint endPoint;
public BtnMapOnClickListener(LatLonPoint endPoint){
this.endPoint = endPoint;
}
@Override
public void onClick(View v){
UIUtil.requestNav(SearchResultActivityReceiveParams.this, new LatLonPoint(startPointLatitude, startPointLongitude), endPoint);
}
}
/**
* 电话按钮点击事件
*/
private class BtnPhoneCallOnClickListener implements OnClickListener{
private String mobile;
public BtnPhoneCallOnClickListener(String mobile){
this.mobile = mobile;
}
@Override
public void onClick(View v){
UIUtil.tryToDial(SearchResultActivityReceiveParams.this, mobile);
}
}
}