国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

Android實(shí)現(xiàn)仿淘寶購(gòu)物車增加和減少商品數(shù)量功能demo示例

2019-12-12 06:03:14
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了Android實(shí)現(xiàn)仿淘寶購(gòu)物車增加和減少商品數(shù)量功能。分享給大家供大家參考,具體如下:

在前面一篇《Android實(shí)現(xiàn)的仿淘寶購(gòu)物車demo示例》中,小編簡(jiǎn)單的介紹了如何使用listview來(lái)實(shí)現(xiàn)購(gòu)物車,但是僅僅是簡(jiǎn)單的實(shí)現(xiàn)了列表的功能,隨之而來(lái)一個(gè)新的問(wèn)題,買商品的時(shí)候,我們可能不止想買一件商品,想買多個(gè),或許有因?yàn)槟撤N原因點(diǎn)錯(cuò)了,本來(lái)想買一件來(lái)著,小手不小心抖了一下,把數(shù)量錯(cuò)點(diǎn)成了三個(gè),這個(gè)時(shí)候就涉及到一個(gè)新的功能,那就是增加和減少商品的數(shù)量,今天這篇博文,小編就來(lái)和小伙伴們分享一下,如何實(shí)現(xiàn)淘寶購(gòu)物車中增加和減少商品數(shù)量的demo。

首先,我們來(lái)布局XML文件,具體代碼如下所示:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:paddingBottom="@dimen/activity_vertical_margin"  android:paddingLeft="@dimen/activity_horizontal_margin"  android:paddingRight="@dimen/activity_horizontal_margin"  android:paddingTop="@dimen/activity_vertical_margin"  tools:context=".MainActivity" >  <!-- 整體布局,包括增加和減少商品數(shù)量的符號(hào)以及中間的商品數(shù)量 -->  <LinearLayout    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:orientation="horizontal">    <!-- 減少商品數(shù)量的布局 -->    <Button      android:id="@+id/addbt"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:textColor="#0157D3"      android:text="-">    </Button>    <!-- 商品數(shù)量的布局 -->    <EditText      android:id="@+id/edt"      android:text="0"      android:layout_width="wrap_content"      android:layout_height="wrap_content">    </EditText>    <!-- 增加商品數(shù)量的布局 -->    <Button      android:id="@+id/subbt"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:textColor="#0157D3"      android:text="+">    </Button>    <!-- 顯示商品數(shù)量的布局 -->    <TextView      android:id="@+id/ttt"      android:layout_width="wrap_content"      android:layout_height="wrap_content">    </TextView>  </LinearLayout></RelativeLayout>

我們來(lái)看一下xml布局的頁(yè)面會(huì)是什么樣子的nie,如下圖所示:

接著,我們來(lái)編寫Java類里面的代碼,具體代碼如下所示:

package jczb.shoping.ui;import android.R.string;import android.app.Activity;import android.os.Bundle;import android.text.Editable;import android.text.TextWatcher;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class ShoppingCartItemActivity extends Activity {  private Button btAdd, btReduce;  private EditText edtNumber;  int num=0; //數(shù)量  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_shoppingcart_item);    btAdd=(Button)findViewById(R.id.cart_pro_reduce);    btReduce=(Button) findViewById(R.id.cart_pro_add);    edtNumber=(EditText) findViewById(R.id.cart_pro_count);    btAdd.setTag("+");    btReduce.setTag("-");    //設(shè)置輸入類型為數(shù)字    edtNumber.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);    edtNumber.setText(String.valueOf(num));    SetViewListener();  }  /**   * 設(shè)置文本變化相關(guān)監(jiān)聽(tīng)事件   */  private void SetViewListener()  {    btAdd.setOnClickListener(new OnButtonClickListener());    btReduce.setOnClickListener(new OnButtonClickListener());    edtNumber.addTextChangedListener(new OnTextChangeListener());  }  /**   * 加減按鈕事件監(jiān)聽(tīng)器   *   *   */  class OnButtonClickListener implements OnClickListener  {    @Override    public void onClick(View v)    {      String numString = edtNumber.getText().toString();      if (numString == null || numString.equals(""))      {        num = 0;        edtNumber.setText("0");      } else      {        if (v.getTag().equals("-"))        {          if (++num < 0) //先加,再判斷          {            num--;            Toast.makeText(ShoppingCartItemActivity.this, "請(qǐng)輸入一個(gè)大于0的數(shù)字",                Toast.LENGTH_SHORT).show();          } else          {            edtNumber.setText(String.valueOf(num));          }        } else if (v.getTag().equals("+"))        {          if (--num < 0) //先減,再判斷          {            num++;            Toast.makeText(ShoppingCartItemActivity.this, "請(qǐng)輸入一個(gè)大于0的數(shù)字",                Toast.LENGTH_SHORT).show();          } else          {            edtNumber.setText(String.valueOf(num));          }        }      }    }  }  /**   * EditText輸入變化事件監(jiān)聽(tīng)器   */  class OnTextChangeListener implements TextWatcher  {    @Override    public void afterTextChanged(Editable s)    {      String numString = s.toString();      if(numString == null || numString.equals(""))      {        num = 0;      }      else {        int numInt = Integer.parseInt(numString);        if (numInt < 0)        {          Toast.makeText(ShoppingCartItemActivity.this, "請(qǐng)輸入一個(gè)大于0的數(shù)字",              Toast.LENGTH_SHORT).show();        } else        {          //設(shè)置EditText光標(biāo)位置 為文本末端          edtNumber.setSelection(edtNumber.getText().toString().length());          num = numInt;        }      }    }    @Override    public void beforeTextChanged(CharSequence s, int start, int count,        int after)    {    }    @Override    public void onTextChanged(CharSequence s, int start, int before,        int count)    {    }  }}

最后,我們來(lái)看一下運(yùn)行效果,如下圖所示:

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android布局layout技巧總結(jié)》、《Android視圖View技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android操作SQLite數(shù)據(jù)庫(kù)技巧總結(jié)》、《Android操作json格式數(shù)據(jù)技巧總結(jié)》、《Android數(shù)據(jù)庫(kù)操作技巧總結(jié)》、《Android文件操作技巧匯總》、《Android編程開(kāi)發(fā)之SD卡操作方法匯總》、《Android開(kāi)發(fā)入門與進(jìn)階教程》、《Android資源操作技巧匯總》及《Android控件用法總結(jié)

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 安多县| 宁晋县| 镇雄县| 鄂托克前旗| 东平县| 抚松县| 砚山县| 棋牌| 新邵县| 双鸭山市| 井研县| 远安县| 克山县| 高雄县| 扬州市| 西城区| 花垣县| 云南省| 鄂尔多斯市| 凤阳县| 扬中市| 蕲春县| 萨迦县| 麻阳| 阿巴嘎旗| 吴忠市| 宜兰县| 泽普县| 怀宁县| 嘉禾县| 西华县| 邹平县| 宁化县| 石泉县| 县级市| 宜黄县| 遂宁市| 兴义市| 中阳县| 江孜县| 潼南县|