仿京東的購物車和訂單
//從購物車跳轉到了確認訂單介面
/**
* 確認下單介面*/
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實現滑屏都能夠通過這個類去實現。以下要說的