最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
android京東,android京東購物車加載框

Android 自定義仿京東地址選擇器

public class AddressPickerViewextends RelativeLayout{

企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對外擴(kuò)展宣傳的重要窗口,一個合格的網(wǎng)站不僅僅能為公司帶來巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺,成都創(chuàng)新互聯(lián)公司面向各種領(lǐng)域:咖啡廳設(shè)計網(wǎng)站設(shè)計全網(wǎng)整合營銷推廣解決方案、網(wǎng)站設(shè)計等建站排名服務(wù)。


// recyclerView 選中Item 的顏色

private int defaultSelectedColor = Color.parseColor("#3D71FF");

// recyclerView 未選中Item 的顏色

private int defaultUnSelectedColor = Color.parseColor("#2c2c2c");

// 確定字體不可以點擊時候的顏色

private int defaultSureUnClickColor = Color.parseColor("#7F7F7F");

// 確定字體可以點擊時候的顏色

private int defaultSureCanClickColor = Color.parseColor("#3D71FF");

private ContextmContext;

private int defaultTabCount =3; //tab 的數(shù)量

private TabLayoutmTabLayout; // tabLayout

private RecyclerViewmRvList; // 顯示數(shù)據(jù)的RecyclerView

private StringdefaultProvince ="省份"; //顯示在上面tab中的省份

private StringdefaultCity ="城市"; //顯示在上面tab中的城市

private StringdefaultDistrict ="區(qū)縣"; //顯示在上面tab中的區(qū)縣

private ListmRvData; // 用來在recyclerview顯示的數(shù)據(jù)

private AddressAdaptermAdapter;? // recyclerview 的adapter

private YwpAddressBeanmYwpAddressBean; // 總數(shù)據(jù)

private YwpAddressBean.AddressItemBeanmSelectProvice; //選中 省份bean

private YwpAddressBean.AddressItemBeanmSelectCity;//選中 城市bean

private YwpAddressBean.AddressItemBeanmSelectDistrict;//選中 區(qū)縣bean

private int mSelectProvicePosition =0; //選中 省份 位置

private int mSelectCityPosition =0;//選中 城市? 位置

private int mSelectDistrictPosition =0;//選中 區(qū)縣? 位置

private OnAddressPickerSureListenermOnAddressPickerSureListener;

public AddressPickerView(Context context) {

super(context);

? ? init(context);

}

public AddressPickerView(Context context, @Nullable AttributeSet attrs) {

super(context, attrs);

? ? init(context);

}

public AddressPickerView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {

super(context, attrs, defStyleAttr);

? ? init(context);

}

/**

* 初始化

*/

private void init(Context context) {

mContext = context;

? ? mRvData =new ArrayList();

? ? // UI

? ? View rootView =inflate(mContext, R.layout.address_picker_view, this);

? ? // tablayout初始化

? ? mTabLayout = (TabLayout) rootView.findViewById(R.id.tlTabLayout);

? ? mTabLayout.addTab(mTabLayout.newTab().setText(defaultProvince));

? ? mTabLayout.addTab(mTabLayout.newTab().setText(defaultCity));

? ? mTabLayout.addTab(mTabLayout.newTab().setText(defaultDistrict));

? ? mTabLayout.addOnTabSelectedListener(tabSelectedListener);

? ? // recyclerview adapter的綁定

? ? mRvList = (RecyclerView) rootView.findViewById(R.id.rvList);

? ? mRvList.setLayoutManager(new LinearLayoutManager(context));

? ? mAdapter =new AddressAdapter();

? ? mRvList.setAdapter(mAdapter);

? ? // 初始化默認(rèn)的本地數(shù)據(jù)? 也提供了方法接收外面數(shù)據(jù)

? ? mRvList.post(new Runnable() {

@Override

? ? ? ? public void run() {

initData();

? ? ? ? }

});

}

/**

* 初始化數(shù)據(jù)

* 拿assets下的json文件

*/

private void initData() {

StringBuilder jsonSB =new StringBuilder();

? ? try {

BufferedReader addressJsonStream =new BufferedReader(new InputStreamReader(mContext.getAssets().open("address.json")));

? ? ? ? String line;

? ? ? ? while ((line = addressJsonStream.readLine()) !=null) {

jsonSB.append(line);

? ? ? ? }

}catch (IOException e) {

e.printStackTrace();

? ? }

// 將數(shù)據(jù)轉(zhuǎn)換為對象

? ? mYwpAddressBean =new Gson().fromJson(jsonSB.toString(), YwpAddressBean.class);

? ? if (mYwpAddressBean !=null) {

mRvData.clear();

? ? ? ? mRvData.addAll(mYwpAddressBean.getProvince());

? ? ? ? mAdapter.notifyDataSetChanged();

? ? }

}

/**

* 開放給外部傳入數(shù)據(jù)

* 暫時就用這個Bean模型,如果數(shù)據(jù)不一致就需要各自根據(jù)數(shù)據(jù)來生成這個bean了

*/

public void initData(YwpAddressBean bean) {

if (bean !=null) {

mSelectDistrict =null;

? ? ? ? mSelectCity =null;

? ? ? ? mSelectProvice =null;

? ? ? ? mTabLayout.getTabAt(0).select();

? ? ? ? mYwpAddressBean = bean;

? ? ? ? mRvData.clear();

? ? ? ? mRvData.addAll(mYwpAddressBean.getProvince());

? ? ? ? mAdapter.notifyDataSetChanged();

? ? }

}

//點確定

private void sure() {

if (mSelectProvice !=null

mSelectCity !=null

mSelectDistrict !=null) {

//? 回調(diào)接口

? ? ? ? if (mOnAddressPickerSureListener !=null) {

mOnAddressPickerSureListener.onSureClick(mSelectProvice.getN(), mSelectCity.getN(), mSelectDistrict.getN());

? ? ? ? }

}else {

Toast.makeText(mContext, "地址還沒有選完整哦", Toast.LENGTH_SHORT).show();

? ? }

}

@Override

protected void onDetachedFromWindow() {

super.onDetachedFromWindow();

? // mYwpAddressBean = null;

}

/**

* TabLayout 切換事件

*/

TabLayout.OnTabSelectedListenertabSelectedListener =new TabLayout.OnTabSelectedListener() {

@Override

? ? public void onTabSelected(TabLayout.Tab tab) {

mRvData.clear();

? ? ? ? switch (tab.getPosition()) {

case 0:

mRvData.addAll(mYwpAddressBean.getProvince());

? ? ? ? ? ? ? ? mAdapter.notifyDataSetChanged();

? ? ? ? ? ? ? ? // 滾動到這個位置

? ? ? ? ? ? ? ? mRvList.smoothScrollToPosition(mSelectProvicePosition);

break;

? ? ? ? ? ? case 1:

// 點到城市的時候要判斷有沒有選擇省份

? ? ? ? ? ? ? ? if (mSelectProvice !=null) {

for (YwpAddressBean.AddressItemBean itemBean :mYwpAddressBean.getCity()) {

if (itemBean.getP().equals(mSelectProvice.getI()))

mRvData.add(itemBean);

? ? ? ? ? ? ? ? ? ? }

}else {

Toast.makeText(mContext, "請您先選擇省份", Toast.LENGTH_SHORT).show();

? ? ? ? ? ? ? ? }

mAdapter.notifyDataSetChanged();

? ? ? ? ? ? ? ? // 滾動到這個位置

? ? ? ? ? ? ? ? mRvList.smoothScrollToPosition(mSelectCityPosition);

break;

? ? ? ? ? ? case 2:

// 點到區(qū)的時候要判斷有沒有選擇省份與城市

? ? ? ? ? ? ? ? if (mSelectProvice !=null mSelectCity !=null) {

for (YwpAddressBean.AddressItemBean itemBean :mYwpAddressBean.getDistrict()) {

if (itemBean.getP().equals(mSelectCity.getI()))

mRvData.add(itemBean);

? ? ? ? ? ? ? ? ? ? }

}else {

Toast.makeText(mContext, "請您先選擇省份與城市", Toast.LENGTH_SHORT).show();

? ? ? ? ? ? ? ? }

mAdapter.notifyDataSetChanged();

? ? ? ? ? ? ? ? // 滾動到這個位置

? ? ? ? ? ? ? ? mRvList.smoothScrollToPosition(mSelectDistrictPosition);

break;

? ? ? ? }

}

@Override

? ? public void onTabUnselected(TabLayout.Tab tab) {

}

@Override

? ? public void onTabReselected(TabLayout.Tab tab) {

}

};

/**

* 下面顯示數(shù)據(jù)的adapter

*/

class AddressAdapterextends RecyclerView.Adapter {

@Override

? ? public ViewHolderonCreateViewHolder(ViewGroup parent, int viewType) {

return new ViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_address_text, parent, false));

? ? }

@Override

? ? public void onBindViewHolder(final ViewHolder holder, final int position) {

final int tabSelectPosition =mTabLayout.getSelectedTabPosition();

? ? ? ? holder.mTitle.setText(mRvData.get(position).getN());

? ? ? ? holder.mTitle.setTextColor(defaultUnSelectedColor);

? ? ? ? // 設(shè)置選中效果的顏色

? ? ? ? switch (tabSelectPosition) {

case 0:

if (mRvData.get(position) !=null

mSelectProvice !=null

mRvData.get(position).getI().equals(mSelectProvice.getI())) {

holder.mTitle.setTextColor(defaultSelectedColor);

? ? ? ? ? ? ? ? }

break;

? ? ? ? ? ? case 1:

if (mRvData.get(position) !=null

mSelectCity !=null

mRvData.get(position).getI().equals(mSelectCity.getI())) {

holder.mTitle.setTextColor(defaultSelectedColor);

? ? ? ? ? ? ? ? }

break;

? ? ? ? ? ? case 2:

if (mRvData.get(position) !=null

mSelectDistrict !=null

mRvData.get(position).getI().equals(mSelectDistrict.getI())) {

holder.mTitle.setTextColor(defaultSelectedColor);

? ? ? ? ? ? ? ? }

break;

? ? ? ? }

// 設(shè)置點擊之后的事件

? ? ? ? holder.mTitle.setOnClickListener(new OnClickListener() {

@Override

? ? ? ? ? ? public void onClick(View v) {

// 點擊 分類別

? ? ? ? ? ? ? ? switch (tabSelectPosition) {

case 0:

mSelectProvice =mRvData.get(position);

? ? ? ? ? ? ? ? ? ? ? ? // 清空后面兩個的數(shù)據(jù)

? ? ? ? ? ? ? ? ? ? ? ? mSelectCity =null;

? ? ? ? ? ? ? ? ? ? ? ? mSelectDistrict =null;

? ? ? ? ? ? ? ? ? ? ? ? mSelectCityPosition =0;

? ? ? ? ? ? ? ? ? ? ? ? mSelectDistrictPosition =0;

? ? ? ? ? ? ? ? ? ? ? ? mTabLayout.getTabAt(1).setText(defaultCity);

? ? ? ? ? ? ? ? ? ? ? ? mTabLayout.getTabAt(2).setText(defaultDistrict);

? ? ? ? ? ? ? ? ? ? ? ? // 設(shè)置這個對應(yīng)的標(biāo)題

? ? ? ? ? ? ? ? ? ? ? ? mTabLayout.getTabAt(0).setText(mSelectProvice.getN());

? ? ? ? ? ? ? ? ? ? ? ? // 跳到下一個選擇

? ? ? ? ? ? ? ? ? ? ? ? mTabLayout.getTabAt(1).select();

? ? ? ? ? ? ? ? ? ? ? ? mSelectProvicePosition =position;

break;

? ? ? ? ? ? ? ? ? ? case 1:

mSelectCity =mRvData.get(position);

? ? ? ? ? ? ? ? ? ? ? ? // 清空后面一個的數(shù)據(jù)

? ? ? ? ? ? ? ? ? ? ? ? mSelectDistrict =null;

? ? ? ? ? ? ? ? ? ? ? ? mSelectDistrictPosition =0;

? ? ? ? ? ? ? ? ? ? ? ? mTabLayout.getTabAt(2).setText(defaultDistrict);

? ? ? ? ? ? ? ? ? ? ? ? // 設(shè)置這個對應(yīng)的標(biāo)題

? ? ? ? ? ? ? ? ? ? ? ? mTabLayout.getTabAt(1).setText(mSelectCity.getN());

? ? ? ? ? ? ? ? ? ? ? ? // 跳到下一個選擇

? ? ? ? ? ? ? ? ? ? ? ? mTabLayout.getTabAt(2).select();

? ? ? ? ? ? ? ? ? ? ? ? mSelectCityPosition =position;

break;

? ? ? ? ? ? ? ? ? ? case 2:

mSelectDistrict =mRvData.get(position);

? ? ? ? ? ? ? ? ? ? ? ? // 沒了,選完了,這個時候可以點確定了

? ? ? ? ? ? ? ? ? ? ? ? mTabLayout.getTabAt(2).setText(mSelectDistrict.getN());

? ? ? ? ? ? ? ? ? ? ? ? notifyDataSetChanged();

? ? ? ? ? ? ? ? ? ? ? ? mSelectDistrictPosition =position;

? ? ? ? ? ? ? ? ? ? ? ? sure();

break;

? ? ? ? ? ? ? ? }

}

});

? ? }

@Override

? ? public int getItemCount() {

return mRvData.size();

? ? }

class ViewHolderextends RecyclerView.ViewHolder {

TextViewmTitle;

? ? ? ? ViewHolder(View itemView) {

super(itemView);

? ? ? ? ? ? mTitle = (TextView) itemView.findViewById(R.id.itemTvTitle);

? ? ? ? }

}

}

/**

* 點確定回調(diào)這個接口

*/

public interface OnAddressPickerSureListener {

void onSureClick(String proviceName,String cityName,String earaName);

}

public void setOnAddressPickerSure(OnAddressPickerSureListener listener) {

this.mOnAddressPickerSureListener = listener;

}

京東擼貨安卓機(jī)怎么改ip

京東換ip的方法步驟如下:

1、打開京東選擇產(chǎn)品和需要的型號然后點擊購買。

2、點擊上方的地址然后選擇好收貨地址。

3、如果需要添加地址則點下方新建地址即可。

備注:如果已經(jīng)下單或者已經(jīng)處于發(fā)貨狀態(tài),則需要用戶和商家進(jìn)行溝通,看看是否可以直接修改地址,或者選擇退單重新購買,這個無法自己來進(jìn)行修改的,下單之后就是商家進(jìn)行處理了。

android 網(wǎng)頁可以打開京東app商品頁嗎

android 網(wǎng)頁是可以直接打開京東的app商品頁的,只不過頁面不好瀏覽建議還是下載app或者直接在微信里面打開購物,默認(rèn)的就是京東

安卓用微信登陸京東為什么到蘋果登陸京東要用之前的手機(jī)號碼

因為京東登錄需要手機(jī)號驗證。

更換手機(jī)號京東登錄解決方式:

1.打開網(wǎng)頁進(jìn)入京東,點擊客戶服務(wù)選擇在線客服。

2.然后會進(jìn)入在線客服網(wǎng)頁。

3.在頁面中點擊賬戶服務(wù)。

4.接下來就會談彈出于京東的客服溝通的框框。

5.你只要告訴他你要解綁手機(jī)號碼就行,然后等待回復(fù)。

6.解綁手機(jī)號碼需要賬戶歷史第一筆完成的訂單號(包括該訂單的收貨人姓名,地址和電話)以及之前綁定的手機(jī)號。發(fā)過去就行。7.然后等電話就行,保持電話通暢。一般都是在下午打電話的。

為什么蘋果登錄的京東和安卓的同步不了

因為京東只有一個賬號,不能在多臺設(shè)備同時登陸。

京東(股票代碼:JD),中國自營式電商企業(yè),創(chuàng)始人劉強(qiáng)東擔(dān)任京東集團(tuán)董事局主席兼首席執(zhí)行官。旗下設(shè)有京東商城、京東金融、拍拍網(wǎng)、京東智能、O2O及海外事業(yè)部等。2013年正式獲得虛擬運營商牌照。2014年5月在美國納斯達(dá)克證券交易所正式掛牌上市。2015年7月,京東入選納斯達(dá)克100指數(shù)和納斯達(dá)克100平均加權(quán)指數(shù)。2016年6月與沃爾瑪達(dá)成深度戰(zhàn)略合作,1號店并入京東。2017年1月4日,中國銀聯(lián)宣布京東金融旗下支付公司正式成為銀聯(lián)收單成員機(jī)構(gòu)。2017年4月25日,京東集團(tuán)宣布正式組建京東物流子集團(tuán)。2017年8月3日,2017年“中國互聯(lián)網(wǎng)企業(yè)100強(qiáng)”榜單發(fā)布,京東排名第四位。2019年7月,發(fā)布2019《財富》世界500強(qiáng):位列139位。2021年《財富》世界500強(qiáng)排名第59位。

安卓手機(jī)在京東怎么用京東閃付?

開通京東閃付后需要將京東閃付賬號設(shè)置為默認(rèn)應(yīng)用。需要在設(shè)備系統(tǒng)中將京東閃付賬號設(shè)置為優(yōu)先支付方式方可進(jìn)行交易。安卓手機(jī)要在系統(tǒng)NFC設(shè)置中去操作設(shè)置。安卓手機(jī)只能在線下商鋪收銀柜臺有銀聯(lián)云閃付標(biāo)識的POS機(jī)使用“京東閃付“進(jìn)行消費。點亮手機(jī)屏幕,貼近商家的pos機(jī)即可進(jìn)行消費扣款(部分商家需要在POS機(jī)輸入京東6位支付密碼)。只有使用Apple

Pay使用京東閃付才能在線上進(jìn)行支付。

安卓系統(tǒng):設(shè)置京東閃付為默認(rèn)扣款應(yīng)用

打開在系統(tǒng)設(shè)置-NFC設(shè)置,將默認(rèn)錢包選擇成HCE默認(rèn)錢包;

點擊觸碰付款設(shè)置,在這里可以查看到京東閃付入口,設(shè)置京東閃付為優(yōu)先支付方式;


文章標(biāo)題:android京東,android京東購物車加載框
鏈接分享:http://fisionsoft.com.cn/article/hoipps.html