package com.jydev.myn.activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.TypedValue;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.baoyz.swipemenulistview.SwipeMenu;
import com.baoyz.swipemenulistview.SwipeMenuCreator;
import com.baoyz.swipemenulistview.SwipeMenuItem;
import com.baoyz.swipemenulistview.SwipeMenuListView;
import com.jydev.myn.R;
import com.jydev.myn.base.BaseActivity;
import com.jydev.myn.bean.AsMessageEvent;
import com.jydev.myn.bean.AsOtherEvent;
import com.jydev.myn.bean.MessageEvent;
import com.jydev.myn.utils.ACache;
import com.nostra13.universalimageloader.utils.L;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import java.util.ArrayList;
import java.util.List;
import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;
/**
* Created by pc on 2016/5/16.
*/
public class AddressActivity extends BaseActivity {
@Bind(R.id.city_back)
ImageView cityBack;
@Bind(R.id.txt_topbar)
TextView txtTopbar;
@Bind(R.id.iv_search)
ImageView ivSearch;
@Bind(R.id.ly_top_bar)
RelativeLayout lyTopBar;
@Bind(R.id.tv_add_address)
TextView tvAddAddress;
@Bind(R.id.tv_manager)
TextView tvManager;
private SwipeMenuListView listView;
private List<String> list;
private AddressAdapter adapter;
private int str_position=-1;
private ACache mCache;
private String address0;
private String address1;
private String address2;
private String address3;
private String address4;
private String address5;
private String address6;
private String address7;
private String address8;
private String address9;
private String address10;
private String address11;
private String address12;
private String address13;
private String address14;
private int address_id;
private int alter_position;
@Override
public int getLayoutId() {
return R.layout.activity_address_list;
}
@Override
public void doMainUI() {
//初始化布局界面
txtTopbar.setText("选择服务地址");
ivSearch.setVisibility(View.GONE);
initView();
mCache = ACache.get(this);
}
@Override
protected void onResume() {
super.onResume();
address0 = mCache.getAsString("address0");
address1 = mCache.getAsString("address1");
address2 = mCache.getAsString("address2");
address3 = mCache.getAsString("address3");
address4 = mCache.getAsString("address4");
address5 = mCache.getAsString("address5");
address6 = mCache.getAsString("address6");
address7 = mCache.getAsString("address7");
address8 = mCache.getAsString("address8");
address9 = mCache.getAsString("address9");
address10 = mCache.getAsString("address10");
address11 = mCache.getAsString("address11");
address12 = mCache.getAsString("address12");
address13 = mCache.getAsString("address13");
address14 = mCache.getAsString("address14");
if(list!=null){
list.removeAll(list);
}
if (address0 != null & !TextUtils.isEmpty(address0)) {
list.add(address0);
} if (address1 != null & !TextUtils.isEmpty(address1)) {
list.add(address1);
}if (address2 != null & !TextUtils.isEmpty(address2)) {
list.add(address2);
}if (address3 != null & !TextUtils.isEmpty(address3)) {
list.add(address3);
}if (address4 != null & !TextUtils.isEmpty(address4)) {
list.add(address4);
}if (address5 != null & !TextUtils.isEmpty(address5)) {
list.add(address5);
}if (address6 != null & !TextUtils.isEmpty(address6)) {
list.add(address6);
}if (address7 != null & !TextUtils.isEmpty(address7)) {
list.add(address7);
}if (address8 != null & !TextUtils.isEmpty(address8)) {
list.add(address8);
}if (address9 != null & !TextUtils.isEmpty(address9)) {
list.add(address9);
}if (address10 != null & !TextUtils.isEmpty(address10)) {
list.add(address10);
}if (address11 != null & !TextUtils.isEmpty(address11)) {
list.add(address11);
}if (address12 != null & !TextUtils.isEmpty(address12)) {
list.add(address12);
}if (address13 != null & !TextUtils.isEmpty(address13)) {
list.add(address13);
}if (address14 != null & !TextUtils.isEmpty(address14)) {
list.add(address14);
}
adapter.notifyDataSetChanged();
}
private void initView() {
list = new ArrayList<>();
listView = ((SwipeMenuListView) findViewById(R.id.listView));
//虚拟数据源
// for (int i = 0; i < 30; i++) {
// list.add("item" + i);
// }
adapter = new AddressAdapter();
listView.setAdapter(adapter);
//点击事件一样写
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(mContext, "你点击了" + list.get(position), Toast.LENGTH_SHORT).show();
}
});
listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(mContext, "longClick" + list.get(position), Toast.LENGTH_SHORT).show();
return true;
}
});
//加入侧滑显示的菜单
//1.首先实例化SwipeMenuCreator对象
SwipeMenuCreator creater = new SwipeMenuCreator() {
@Override
public void create(SwipeMenu menu) {
// create置顶item
SwipeMenuItem item1 = new SwipeMenuItem(mContext);
// set item background
item1.setBackground(new ColorDrawable(Color.rgb(0xC9, 0xC9, 0xCE)));
// set item width
item1.setWidth(dp2px(90));
// set item title
item1.setTitle("置顶");
// set item title fontsize
item1.setTitleSize(18);
// set item title font color
item1.setTitleColor(Color.WHITE);
// add to menu
menu.addMenuItem(item1);
//同理create删除item
SwipeMenuItem deleteItem = new SwipeMenuItem(mContext);
// set item background
deleteItem.setBackground(new ColorDrawable(Color.rgb(0xF9, 0x3F, 0x25)));
// set item width
deleteItem.setWidth(dp2px(90));
// set a icon
deleteItem.setIcon(R.mipmap.ic_delete);
// add to menu
menu.addMenuItem(deleteItem);
}
};
// set creator
listView.setMenuCreator(creater);
//2.菜单点击事件
listView.setOnMenuItemClickListener(new SwipeMenuListView.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(int position, SwipeMenu menu, int index) {
switch (index) {
case 0:
//置顶的逻辑
if (position == 0) {
Toast.makeText(mContext, "此项已经置顶", Toast.LENGTH_SHORT).show();
return false;
}
String str = list.get(position);
for (int i = position; i > 0; i--) {
String s = list.get(i - 1);
list.remove(i);
list.add(i, s);
}
list.remove(0);
list.add(0, str);
adapter.notifyDataSetChanged();
break;
case 1:
//删除的逻辑
list.remove(position);
adapter.notifyDataSetChanged();
break;
}
return false;
}
});
}
private int dp2px(int dp) {
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, getResources().getDisplayMetrics());
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TODO: add setContentView(...) invocation
ButterKnife.bind(this);
}
@OnClick({R.id.city_back, R.id.txt_topbar, R.id.iv_search, R.id.ly_top_bar, R.id.tv_add_address, R.id.tv_manager})
public void onClick(View view) {
switch (view.getId()) {
case R.id.city_back:
finish();
break;
case R.id.txt_topbar:
break;
case R.id.iv_search:
break;
case R.id.ly_top_bar:
break;
case R.id.tv_manager:
break;
case R.id.tv_add_address:
//防止第一个item位置是空的
str_position++;
Intent intent = new Intent(AddressActivity.this, AlterAddressActivity.class);
intent.putExtra("address_position", str_position);
startActivity(intent);
break;
}
}
class AddressAdapter extends BaseAdapter {
// private Context context;
private List<String> list;
public AddressAdapter(Context context, List<String> list) {
this.context = context;
this.list = list;
}
// public AddressAdapter(Context context) {
// this.context = context;
// }
// AddressAdapter addressAdapter = new AddressAdapter();
// addressAdapter.getI
// context.getItemId();
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
convertView = View.inflate(mContext, R.layout.item_address, null);
holder = new ViewHolder();
holder.txt = (TextView) convertView.findViewById(R.id.txt);
holder.iv_add_address = (ImageView) convertView.findViewById(R.id.iv_add_address);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.txt.setText(list.get(position));
alter_position = position;
int i= holder.iv_add_address.getId();
holder.iv_add_address.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// ToastUtil.showShort(context, "点击了增加");
Intent intent = new Intent(mContext, AlterAddressActivity.class);
// intent.putExtra("address_position", alter_position);
// mCache.put("str_position", str_position);
startActivity(intent);
}
});
return convertView;
}
public class ViewHolder {
private TextView txt;
private ImageView iv_add_address;
}
}
// This method will be called when a MessageEvent is posted
@Subscribe
public void onMessageEvent(AsMessageEvent event) {
Toast.makeText(AddressActivity.this, event.message, Toast.LENGTH_SHORT).show();
}
// // This method will be called when a SomeOtherEvent is posted
@Subscribe
public void handleSomethingElse(AsOtherEvent event) {
Toast.makeText(AddressActivity.this, event.message, Toast.LENGTH_SHORT).show();
}
}
package com.jydev.myn.activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.jydev.myn.R;
import com.jydev.myn.base.BaseActivity;
import com.jydev.myn.bean.AsMessageEvent;
import com.jydev.myn.utils.ACache;
import com.lidroid.xutils.DbUtils;
import org.greenrobot.eventbus.EventBus;
import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;
/**
* Created by pc on 2016/5/17.
*/
public class AlterAddressActivity extends BaseActivity {
@Bind(R.id.city_back)
ImageView cityBack;
@Bind(R.id.txt_topbar)
TextView txtTopbar;
@Bind(R.id.iv_search)
ImageView ivSearch;
@Bind(R.id.tv_manager)
TextView tvManager;
@Bind(R.id.ly_top_bar)
RelativeLayout lyTopBar;
@Bind(R.id.tv_location_city)
TextView tvLocationCity;
@Bind(R.id.tv_address_name)
TextView tvAddressName;
@Bind(R.id.et_address_big)
EditText etAddressBig;
@Bind(R.id.et_city_small)
EditText etCitySmall;
@Bind(R.id.tv_delete_address)
TextView tvDeleteAddress;
private String address_big;
private String address_small;
private ACache mCache;
private String address;
private String address_id;
@Override
public int getLayoutId() {
return R.layout.activity_alter_address;
}
@Override
public void doMainUI() {
//初始化布局界面
txtTopbar.setText("修改地址");
ivSearch.setVisibility(View.GONE);
tvManager.setVisibility(View.VISIBLE);
//获取传过来的值
int address_position =getIntent().getExtras().getInt("address_position");
//把int转为为string
address_id = String.valueOf(address_position);
//注册缓存
mCache = ACache.get(this);
}
@OnClick({R.id.city_back, R.id.txt_topbar, R.id.iv_search, R.id.tv_manager, R.id.ly_top_bar, R.id.tv_location_city, R.id.tv_address_name, R.id.et_address_big, R.id.et_city_small, R.id.tv_delete_address})
public void onClick(View view) {
switch (view.getId()) {
case R.id.city_back:
finish();
break;
case R.id.txt_topbar:
break;
case R.id.iv_search:
break;
case R.id.tv_manager:
//获取用户输入的值
address_big = etAddressBig.getText().toString();
address_small = etCitySmall.getText().toString();
address = address_big + address_small;
mCache.put("address" + address_id, address);
String str = "address" + address_id;
Intent intent = new Intent(AlterAddressActivity.this, AddressActivity.class);
startActivity(intent);
break;
case R.id.ly_top_bar:
break;
case R.id.tv_location_city:
break;
case R.id.tv_address_name:
break;
case R.id.et_address_big:
break;
case R.id.et_city_small:
break;
case R.id.tv_delete_address:
break;
}
}
}