收获地址的编写


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;
        }
    }
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值