package com.kaixin.android.activity; import java.io.InputStream; import java.util.List; import org.json.JSONArray; import android.content.Intent; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import com.kaixin.android.KXActivity; import com.kaixin.android.R; import com.kaixin.android.result.LocationResult; import com.kaixin.android.ui.base.MyListView; import com.kaixin.android.utils.TextUtil; /** * 签到类 * * @author gyz * */ public class CheckInActivity extends KXActivity { private Button mBack; private Button mCapture; private EditText mSearch; private MyListView mDisplay; // 显示的内容的总数量 private int mCount; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.checkin_activity); findViewById(); setListener(); init(); } private void findViewById() { mBack = (Button) findViewById(R.id.checkin_back); mCapture = (Button) findViewById(R.id.checkin_capture); mSearch = (EditText) findViewById(R.id.checkin_search); mDisplay = (MyListView) findViewById(R.id.checkin_display); } private void setListener() { mBack.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { // 关闭当前界面 finish(); } }); mCapture.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { // 跳转到二维码扫描 startActivity(new Intent(CheckInActivity.this, CaptureActivity.class)); } }); mSearch.addTextChangedListener(new TextWatcher() { public void onTextChanged(CharSequence s, int start, int before, int count) { // 暂时不做查找功能 } public void beforeTextChanged(CharSequence s, int start, int count, int after) { } public void afterTextChanged(Editable s) { } }); } private void init() { // 获取地理位置数据 getLocation(); // 设置内容总长度 mCount = mKXApplication.mMyLocationResults.size() + 3; // 添加适配器 mDisplay.setAdapter(new CheckInAdapter()); } /** * 获取地理位置数据 */ private void getLocation() { if (mKXApplication.mMyLocationResults.isEmpty()) { List<String> listAddress = mKXApplication.mSaveLocationDao.queryAllLocation(); LocationResult result = null; for (int i = 0; i < listAddress.size(); i++) { result = new LocationResult(); result.setName(listAddress.get(i)); result.setLocation(listAddress.get(i)); mKXApplication.mMyLocationResults.add(result); } } } private class CheckInAdapter extends BaseAdapter { public int getCount() { return mCount; } public Object getItem(int arg0) { return null; } public long getItemId(int position) { return 0; } public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (convertView == null) { convertView = LayoutInflater.from(CheckInActivity.this) .inflate(R.layout.checkin_activity_item, null); holder = new ViewHolder(); holder.top = (View) convertView .findViewById(R.id.checkin_item_top); holder.mid = (View) convertView .findViewById(R.id.checkin_item_mid); holder.more = (View) convertView .findViewById(R.id.checkin_item_more); holder.bottom = (View) convertView .findViewById(R.id.checkin_item_bottom); holder.name = (TextView) holder.mid .findViewById(R.id.checkin_item_mid_name); holder.location = (TextView) holder.mid .findViewById(R.id.checkin_item_mid_location); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } if (position == 0) { holder.top.setVisibility(View.VISIBLE); holder.mid.setVisibility(View.GONE); holder.more.setVisibility(View.GONE); holder.bottom.setVisibility(View.GONE); } else if (position == mCount - 2) { holder.top.setVisibility(View.GONE); holder.mid.setVisibility(View.GONE); holder.more.setVisibility(View.VISIBLE); holder.bottom.setVisibility(View.GONE); } else if (position == mCount - 1) { holder.top.setVisibility(View.GONE); holder.mid.setVisibility(View.GONE); holder.more.setVisibility(View.GONE); holder.bottom.setVisibility(View.VISIBLE); } else { holder.top.setVisibility(View.GONE); holder.mid.setVisibility(View.VISIBLE); holder.more.setVisibility(View.GONE); holder.bottom.setVisibility(View.GONE); LocationResult result = mKXApplication.mMyLocationResults .get(position - 1); holder.name.setText(result.getName()); holder.location.setText(result.getLocation()); } return convertView; } class ViewHolder { View top; View mid; View more; View bottom; TextView name; TextView location; } } }