1. 程式人生 > >仿京東的購物車和訂單

仿京東的購物車和訂單

//從購物車跳轉到了確認訂單介面

/**

* 確認下單介面
*/
public class Main2Activity extends AppCompatActivity {
private TextView text_order;
private TextView text_kuan;
private ImageView tu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);

Intent intent = getIntent();

final CountPriceBean countPriceBean = (CountPriceBean) intent.getSerializableExtra("order");

text_kuan = (TextView) findViewById(R.id.text_kuan);
text_order = (TextView) findViewById(R.id.text_order);
tu = (ImageView) findViewById(R.id.maidongxidetupian);

text_kuan.setText("實付款: ¥"+countPriceBean.getPrice());

text_order.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

OkHttp3Util.doGet("https://www.zhaoapi.cn/product/createOrder?uid=2845&price=" + countPriceBean.getPrice(), new Callback() {
@Override
public void onFailure(Call call, IOException e) {

}

@Override
public void onResponse(Call call, Response response) throws IOException {
final String string = response.body().string();

CommonUtils.runOnUIThread(new Runnable() {
@Override
public void run() {
Toast.makeText(Main2Activity.this, string,Toast.LENGTH_SHORT).show();
Intent intent = new Intent(Main2Activity.this, Main3Activity.class);

// intent.putExtra("toux",chachebean.getData().get(0).getList().g)
// intent.putExtra("order",countPriceBean);

startActivity(intent);
}
});
}
});
}
});



}

public void huiqu2(View view) {
AlertDialog.Builder ab=new AlertDialog.Builder(Main2Activity.this);
ab.setTitle("你在三思三思~~~~");

ab.setPositiveButton("去意已決", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
finish();
}
});
ab.setNegativeButton("再看看",null);
ab.show();

}

public void dingdanzhongxin(View view) {
Intent intent = new Intent(Main2Activity.this, Main3Activity.class);
startActivity(intent);
}

}

//佈局示例

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=
".Main2Activity"> <LinearLayout android:layout_width="match_parent" android:layout_height="40dp" android:orientation="horizontal" android:layout_alignParentTop="true" android:id="@+id/ding" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android
:text="" android:textSize="26dp" android:onClick="huiqu2" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="確認訂單" android:textSize="24dp" android:layout_marginLeft="220dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="訂單中心" android:layout_marginLeft="180dp" android:onClick="dingdanzhongxin" /> </LinearLayout> <TextView android:layout_below="@+id/ding" android:layout_width="match_parent" android:layout_height="1dp" android:background="#000" android:id="@+id/xian" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:id="@+id/tupian" > <ImageView android:layout_width="100dp" android:layout_height="100dp" android:id="@+id/maidongxidetupian" /> </LinearLayout> <LinearLayout android:layout_alignParentBottom="true" android:layout_width="match_parent" android:layout_height="50dp" android:orientation="horizontal"> <TextView android:id="@+id/text_kuan" android:layout_width="0dp" android:layout_weight="2" android:text="實付款:" android:layout_marginLeft="120dp" android:layout_marginTop="13dp" android:textColor="#ff0000" android:layout_height="match_parent" /> <TextView android:id="@+id/text_order" android:layout_width="0dp" android:layout_weight="2" android:text="立即下單" android:gravity="center" android:textColor="#fff" android:background="#ff0000" android:layout_height="match_parent" /> </LinearLayout> </RelativeLayout>

//到我的訂單介面

/**
* 我的訂單頁面
*/
public class Main3Activity extends AppCompatActivity {

private TabLayout tabLayout;
private ViewPager viewPager;
private List<String> list;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
tabLayout = (TabLayout) findViewById(R.id.tab2);
viewPager = (ViewPager) findViewById(R.id.view_pager2);

tabLayout.setTabMode(TabLayout.MODE_FIXED);
tabLayout.setTabGravity(GRAVITY_FILL);

list = new ArrayList<>();

list.add("全部");
list.add("待付款");
list.add("待收貨");
list.add("已完成");
list.add("已取消");

viewPager.setOffscreenPageLimit(list.size());
//1.給viewPager設定介面卡
/**
* 管理者物件有幾種????
* getSupportFragmentManager()...activity管理他身上的fragment的時候使用
* getChildFragmentManager()...fragment巢狀的時候,,,管理孩子需要使用這個管理者
* getFragmentManager()....孩子裡面還有fragment的話就使用這個
*/
viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {

//2.重寫這個方法getPageTitle,,,得到當前頁面的標題
@Override
public CharSequence getPageTitle(int position) {

return list.get(position);
}

@Override
public Fragment getItem(int position) {
NewsFragment1 newsFragment = new NewsFragment1();

//應該要做的是傳值,,,,去fragment裡面獲取,,,獲取到值之後,,,在進行url路徑的拼接

Bundle bundle = new Bundle();
bundle.putString("name",list.get(position));
newsFragment.setArguments(bundle);

return newsFragment;
}

@Override
public int getCount() {
return list.size();
}
});

//3.將tabLayout和viewPager關聯起來
tabLayout.setupWithViewPager(viewPager);

}

}

//佈局示例

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".Main3Activity">
    <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24dp"
android:textColor="#000"
android:text="我的訂單"
android:layout_gravity="center"
></TextView>
    <TextView
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#000"
/>
    <android.support.design.widget.TabLayout
android:id="@+id/tab2"
app:tabGravity="center"
app:tabIndicatorColor="@color/colorhong"
app:tabSelectedTextColor="@color/colorAccent"
app:tabTextColor="@color/colorhei"
android:layout_width="match_parent"
android:layout_height="40dp" />
    <android.support.v4.view.ViewPager
android:id="@+id/view_pager2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/tab">
    </android.support.v4.view.ViewPager>
</LinearLayout>

//我的訂單中的資料

public class NewsFragment1 extends Fragment{

private List<Dingbean.DataBean> list=new ArrayList<>();
List<Dingbean.DataBean> list1=new ArrayList<>();
private Base base;
private ListView lv;
int page=3;

Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what==1) {
Log.d("cccc", "進來了");
if ("全部".equals(name)) {
//Log.d("---",name);
list.clear();

list.addAll(dingbean.getData());
if (list.size() > 0) {
setaba();
} else {
Toast.makeText(getActivity(), "沒有此型別的商品訂單哦", Toast.LENGTH_SHORT).show();
}


} else if ("待付款".equals(name)) {
Log.d("lllll", name);
if (list1.size() > 0) {
list.clear();
for (int i = 0; i < list1.size(); i++) {
if (list1.get(i).getStatus() == 0) {
list.add(list1.get(i));
}

}
if (list.size() > 0) {
setaba();
} else {
Toast.makeText(getActivity(), "沒有此型別的商品訂單哦", Toast.LENGTH_SHORT).show();
}

} else {
getshuju();
}

} else if ("待收貨".equals(name)) {
Log.d("lllll", name);
if (list1.size() > 0) {
list.clear();
for (int i = 0; i < list1.size(); i++) {
if (list1.get(i).getStatus() == 0) {
list.add(list1.get(i));
}

}
if (list.size() > 0) {
setaba();
} else {
Toast.makeText(getActivity(), "沒有此型別的商品訂單哦", Toast.LENGTH_SHORT).show();
}

} else {
getshuju();
}

} else if ("已完成".equals(name)) {
Log.d("----", name);
if (list1.size() > 0) {
list.clear();
for (int i = 0; i < list1.size(); i++) {
if (list1.get(i).getStatus() == 2) {
list.add(list1.get(i));
}

}
if (list.size() > 0) {
setaba();
} else {
Toast.makeText(getActivity(), "沒有此型別的商品訂單哦", Toast.LENGTH_SHORT).show();
}

} else {
getshuju();
}

} else if ("已取消".equals(name)) {
Log.d("----", name);
if (list1.size() > 0) {
list.clear();
for (int i = 0; i < list1.size(); i++) {
if (list1.get(i).getStatus() == 2) {
list.add(list1.get(i));
}

}
if (list.size() > 0) {
setaba();
} else {
Toast.makeText(getActivity(), "沒有此型別的商品訂單哦", Toast.LENGTH_SHORT).show();
}

} else {
getshuju();
}

}


}else if (msg.what==2){

getshuju();
/*List<Dingbean.DataBean> date= (List<Dingbean.DataBean>) msg.obj;
Log.d("yyyyy", date.toString());
list.addAll(date);*/
setaba();


}
}
};
private String name;
private Dingbean dingbean;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.ding, container, false);

lv = view.findViewById(R.id.lvvv);
return view;


}

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);


name = getArguments().getString("name", "");
Log.d("nnnn", name);
if (name.equals("全部")){

getshuju();
}else if (name.equals("待付款")){
Log.d("vvvv","進來了");
handler.sendEmptyMessage(1);
}else if (name.equals("待收貨")){
handler.sendEmptyMessage(1);
}else if (name.equals("已完成")){
handler.sendEmptyMessage(1);
}else if (name.equals("已取消")){
handler.sendEmptyMessage(1);
}

}

private void getshuju() {
page++;
OkHttp3Util.doGet("https://www.zhaoapi.cn/product/getOrders?uid=71&page=6", new Callback() {
@Override
public void onFailure(Call call, IOException e) {

}

@Override
public void onResponse(Call call, Response response) throws IOException {

final String string = response.body().string();
if (response.isSuccessful()){

CommonUtils.runOnUIThread(new Runnable() {
@Override
public void run() {
Gson gson=new Gson();
dingbean = gson.fromJson(string, Dingbean.class);
list1.clear();
list1.addAll(dingbean.getData());
handler.sendEmptyMessage(1);

}
});

}

}
});


}

private void setaba() {

if (base==null){
base = new Base(getActivity(),list,handler);
lv.setAdapter(base);

}else
{
base.notifyDataSetChanged();
}

}

///////給一個listview就可以

相關推薦

仿京東購物車訂單

//從購物車跳轉到了確認訂單介面 /** * 確認下單介面 */ public class Main2Activity extends AppCompatActivity { private TextView text_order; private TextView tex

仿京東——購物車

介面佈局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android

仿京東購物車

public interface CartView { void success(CartBean cartBean); void failure(String msg); } public interface CartAllCheckLinstener

Android仿京東購物車效果

模仿京東購物車做了個簡單的購物車效果。 先上圖: 最近要做個電商專案。 本來想去網上找個程式碼copy的。 找了半天沒找到。 無奈只能自己寫一個了。 說下整個思路,兩個Listview,item的加減用回撥或者觀察者模式(哈哈,新學的).。 看自己怎麼

微信商城中購物車訂單表結構設計

購物車的實現可以使用多種方式,主流的有以下3種:儲存在使用者遊覽器中:如使用cookie記錄,也可以使用HTML5的本地儲存等儲存在伺服器中:儲存在使用者會話(session)中,使用者在關閉遊覽器後儲存資訊會被銷燬儲存在資料庫中:可以儲存在Mysql、Redis等資料庫中下

安卓仿京東購物車

注意:在child_layout.xml裡面的這個元件必須是自己的專案名需要改一下 直接輸入Add就出來了<com.bw.gouwuche.AddDeleteView android:id="@+id/adv_main" android:layout_width="wr

Android仿京東購物車-----完整程式碼(三)

activity public class MainActivity extends AppCompatActivity implements View.OnClickListener { ExpandableListView expandableListView

小程式商城原始碼,含完整購物車、使用者中心訂單管理

延譽商城小程式,商城原始碼支援最新的微信小程式開放介面,包括使用open-data獲取微信使用者的頭像和暱稱資訊等。 商城小程式原始碼包含完成的商城伺服器API介面呼叫,只需要修改sellerid為自己的即可。最新版本的小程式原始碼,也可以GitHub上獲取到。

仿京東電商 簡單的購物車

先是佈局 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:orientation="vertical" xmlns:androi

購物車的原理及實現.(仿京東實現原理)

2017年7月14日更新:  有很多小夥伴想要專案資料和原始碼, 我重新整理了一份傳了上來:  這次更新的為專案全套視訊及所有原始碼資料: 連結: https://pan.baidu.com/s/1hseNP9U 密碼: ugey 今天來開始寫一下關於購物車的東西,

仿京東購物車列表模組的實現【以及通過Builder的方式建立dialog彈窗 鏈式呼叫】

前段時間見群裡有個小夥伴,發了一張電商專案中比較常見的購物車列表的效果圖,問這樣的購物車列表如何實現?我們第一反應就是用ExpandableListView來實現,在上一篇部落格中我們詳細的分析了比較實用而且又炫酷的 RecyclerView的ItemDecor

仿京東或淘寶的訂單中心頁面

因為最近有用到類似京東訂單中心的功能,遂決定寫篇部落格做個Demo,如有問題可留言探討。先上效果圖:評價和刪除訂單功能都做了簡單的實現。開發這個功能主要用到了安卓中的ExpandlistView。ExpandlistView的使用跟ListView的使用類似,如果對Expan

仿京東訂單Deom

public class DingDanAdapter extends BaseAdapter { private List<DingDanBean.DataBean> list; private Handler handler; private Context cont

Android 仿京東訂單頁面

不要作弊哦,不然直降49訂單佈局檔案(activity_myorder)<?xml version="1.0" encoding="utf-8"?> <RelativeLayout x

仿京東 首頁i+購物車+詳情頁i

//配置支援Rxjava2 implementation 'com.squareup.retrofit2:adapter-rxjava2:+' implementation 'io.reactivex.rxjava2:rxjava:+' impleme

基於React Native構建的仿京東客戶端(五)如何實現首頁 分類 發現 購物車 我的 Tab導航頁面

新建4個用紅色方框標識的檔案,如下圖所示:myths-Mac:JdApp myth$ yarn add react-native-tab-navigatorCartPage.js檔案完整的程式碼如下:import React, { Component } from 'reac

購物車實現及原理(仿京東實現原理)

關於購物車的東西, 這裡首先丟擲四個問題: 1)使用者沒登陸使用者名稱和密碼,新增商品, 關閉瀏覽器再開啟後 不登入使用者名稱和密碼 問:購物車商品還在嗎?  2)使用者登陸了使用者名稱密碼,新增商品,關閉瀏覽器再開啟後 不登入使用者名稱和密碼 問:購物車商品還在嗎?  

仿京東、天貓app的商品詳情頁的布局架構, 以及功能實現

enter layout 顯示 效果 寫上 idt theme brush 2.2.0 一、介紹 這個類是繼承自ImageView的,所以對於這個控件我們可以使用ImageView的所有屬性 二、使用準備, 在as 的 build.grade文件中寫上 compile ‘

購物車用戶交互,顯示省市縣三級聯動的選擇

car strip 技術 元素 用戶交互 分享 set 功能 true 購物車 購物車 功能要求: 要求用戶輸入總資產,例如:2000 顯示商品列表,讓用戶根據序號選擇商品,加入購物車 購買,如果商品總額大於總資產,提示賬戶余額不足,否則,購買成功。 附加:可充值、某

Android 仿 窗簾效果 登錄界面拖動效果 (Scroller類的應用) 附 2個DEMO及源代碼

@override 宋體 off down != 過程 事件 學習 border 在android學習中,動作交互是軟件中重要的一部分。當中的Scroller就是提供了拖動效果的類,在網上。比方說一些Launcher實現滑屏都能夠通過這個類去實現。以下要說的