今天實(shí)現(xiàn)的內(nèi)容有:添加賬本信息,個(gè)人頭像的切換,密碼的修改,退出登錄。

          添加賬本信息有三個(gè)功能:

          ①記一筆支出項(xiàng)目

          ②記一筆收入項(xiàng)目

          ③清空所有項(xiàng)目


          在此期間遇到的困難有:Activity與Fragment之間數(shù)值的傳遞問題,我利用Bundle對(duì)象來進(jìn)行傳值,但是布局文件中fragment里的name=“Account_Fragment”,這里暫時(shí)沒有想到如何傳值。

          因此暫時(shí)將name="Find_Message"這個(gè)還未改變的一個(gè)fragment,當(dāng)再次點(diǎn)擊Account圖標(biāo)時(shí),就可以傳進(jìn)去參數(shù)。

          未解決的事:

          ①記完賬本后,按日期排序一直不對(duì)

          ②初始Fragment沒辦法傳參

          明天要做的事:

          先將上述問題解決,在設(shè)置長按項(xiàng)目進(jìn)行單獨(dú)刪除。

          統(tǒng)計(jì)總的收入與支出的對(duì)比

          找到合適的圖標(biāo)進(jìn)行替換

          學(xué)習(xí)hellochart,將數(shù)據(jù)以餅狀圖展示。

          ?

          今日成果:



          ?



          ?點(diǎn)擊更換頭像:會(huì)有幾個(gè)頭像供選擇



          ?

          ?當(dāng)點(diǎn)擊后自動(dòng)跳回個(gè)人信息界面:



          ?

          ?其次是更換密碼:需要輸入原密碼與新密碼



          ?

          ?再者就是記賬的頁面:有支出,收入,刪除所有,支出的會(huì)顯示紅色,收入的會(huì)顯示綠色



          ?

          ?當(dāng)點(diǎn)擊收入時(shí),會(huì)彈出一個(gè)框來進(jìn)行記賬



          ?

          ?同理,當(dāng)點(diǎn)擊支出時(shí),也會(huì)彈出一個(gè)框



          ?

          ?當(dāng)點(diǎn)擊刪除所有時(shí),會(huì)將所有賬目全部刪除。

          Account_Fragment:記賬的Fragment
          package com.example.countbook; import android.app.AlertDialog; import
          android.app.Fragment;import android.content.DialogInterface; import
          android.database.Cursor;import android.graphics.Color; import android.os.Bundle;
          import android.util.Log; import android.view.LayoutInflater; import
          android.view.View;import android.view.ViewGroup; import android.widget.Button;
          import android.widget.DatePicker; import android.widget.EditText; import
          android.widget.ListView;import android.widget.RadioButton; import
          androidx.annotation.Nullable;import java.util.ArrayList; import java.util.List;
          public class Account_Fragment extends Fragment { private List<Account> list;
          private AccountOperator accountOperator; private AccountAdapter accountAdapter;
          Button btn_shouru; Button btn_zhichu; Button btn_delete; Bundle bundle; String
          username; @Overridepublic void onCreate(@Nullable Bundle savedInstanceState) {
          super.onCreate(savedInstanceState); bundle=getArguments(); username
          =bundle.getString("username"); //Log.i("username",username); } @Nullable
          @Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup
          container, Bundle savedInstanceState) { View view
          =inflater.inflate(R.layout.account_fragment,null); btn_shouru=
          (Button)view.findViewById(R.id.btn_shouru); btn_zhichu=
          (Button)view.findViewById(R.id.btn_zhichu); btn_delete=
          (Button)view.findViewById(R.id.btn_delete); accountOperator=new
          AccountOperator(view.getContext()); list=new ArrayList<>(); ListView AccountList
          =(ListView)view.findViewById(R.id.lv_main); inin(username); accountAdapter=new
          AccountAdapter(view.getContext(),list); AccountList.setAdapter(accountAdapter);
          btn_zhichu.setOnClickListener(l); btn_shouru.setOnClickListener(l);
          btn_delete.setOnClickListener(l);return view; } View.OnClickListener l=new
          View.OnClickListener() { @Overridepublic void onClick(View v) { switch
          (v.getId()){case R.id.btn_zhichu: AlertDialog.Builder builder=new
          AlertDialog.Builder(getView().getContext()); LayoutInflater inflater=
          LayoutInflater.from(getView().getContext()); View viewDialog
          =inflater.inflate(R.layout.new_cost_data,null); final EditText content=
          (EditText)viewDialog.findViewById(R.id.et_cost_content);final DatePicker data=
          (DatePicker)viewDialog.findViewById(R.id.dp_cost_data);final EditText money=
          (EditText)viewDialog.findViewById(R.id.et_cost_money);final RadioButton rb1=
          (RadioButton)viewDialog.findViewById(R.id.rb1);final RadioButton rb2=
          (RadioButton)viewDialog.findViewById(R.id.rb2);final RadioButton rb3=
          (RadioButton)viewDialog.findViewById(R.id.rb3);final RadioButton rb4=
          (RadioButton)viewDialog.findViewById(R.id.rb4); builder.setView(viewDialog);
          builder.setTitle("New Cost"); builder.setPositiveButton("OK", new
          DialogInterface.OnClickListener() { @Overridepublic void
          onClick(DialogInterface dialog,int which) { Account bean=new Account();
          bean.author=username; bean.content=content.getText().toString(); bean.money=
          Integer.parseInt(money.getText().toString()); bean.date
          =data.getYear()+"-"+(data.getMonth()+1)+"-"+data.getDayOfMonth(); if
          (rb1.isChecked()){ bean.title=rb1.getText().toString(); }else if
          (rb2.isChecked()){ bean.title=rb2.getText().toString(); }else if
          (rb3.isChecked()){ bean.title=rb3.getText().toString(); }else if
          (rb4.isChecked()){ bean.title=rb4.getText().toString(); }
          accountOperator.insert(bean); list.add(bean);
          accountAdapter.notifyDataSetChanged(); } }); builder.setNegativeButton("Cancel",
          null); builder.create().show(); break; case R.id.btn_shouru:
          AlertDialog.Builder builder2=new AlertDialog.Builder(getView().getContext());
          LayoutInflater inflater2=LayoutInflater.from(getView().getContext()); View
          viewDialog2=inflater2.inflate(R.layout.new_income_data,null); final EditText
          content2=(EditText)viewDialog2.findViewById(R.id.et_income_content); final
          DatePicker data2=(DatePicker)viewDialog2.findViewById(R.id.dp_income_data);
          final EditText money2=(EditText)viewDialog2.findViewById(R.id.et_income_money);
          final RadioButton frb1=(RadioButton)viewDialog2.findViewById(R.id.rb1); final
          RadioButton frb2=(RadioButton)viewDialog2.findViewById(R.id.rb2); final
          RadioButton frb3=(RadioButton)viewDialog2.findViewById(R.id.rb3);
          builder2.setView(viewDialog2); builder2.setTitle("New InCome");
          builder2.setPositiveButton("OK", new DialogInterface.OnClickListener() {
          @Overridepublic void onClick(DialogInterface dialog, int which) { Account bean=
          new Account(); bean.author=username; bean.content=
          content2.getText().toString(); bean.money=
          Integer.parseInt(money2.getText().toString()); bean.date
          =data2.getYear()+"-"+(data2.getMonth()+1)+"-"+data2.getDayOfMonth(); if
          (frb1.isChecked()){ bean.title=frb1.getText().toString(); }else if
          (frb2.isChecked()){ bean.title=frb2.getText().toString(); }else if
          (frb3.isChecked()){ bean.title=frb3.getText().toString(); }
          accountOperator.insert(bean); list.add(bean);
          accountAdapter.notifyDataSetChanged(); } }); builder2.setNegativeButton(
          "Cancel",null); builder2.create().show(); break; case R.id.btn_delete:
          accountOperator.deleteall(username); list.clear();
          accountAdapter.notifyDataSetChanged();break; } } }; private void inin(String
          author) { Cursor cursor= (Cursor) accountOperator.findall(author); if(cursor!=
          null){ while(cursor.moveToNext()){ Account bean=new Account(); bean.content
          =cursor.getString(cursor.getColumnIndex("content")); bean.money
          =cursor.getInt(cursor.getColumnIndex("money")); bean.date
          =cursor.getString(cursor.getColumnIndex("date")); bean.title
          =cursor.getString(cursor.getColumnIndex("title")); list.add(bean); }
          cursor.close(); } } }
          ?

          友情鏈接
          ioDraw流程圖
          API參考文檔
          OK工具箱
          云服務(wù)器優(yōu)惠
          阿里云優(yōu)惠券
          騰訊云優(yōu)惠券
          京東云優(yōu)惠券
          站點(diǎn)信息
          問題反饋
          郵箱:[email protected]
          QQ群:637538335
          關(guān)注微信

                操逼网站免费视频 | 国产精品乱码69一区二区三区 | A级大黄片 | 早川濑里奈~极囗交饮精天国 | 亚洲午夜精品久久久久久久久久久久 |