安卓開發實戰-記賬本APP(五)
阿新 • • 發佈:2020-02-12
今天將昨天剩餘的bug修復,並且完成圖示的美化,設定長按刪除,模仿支付寶實現金額的動態增加。
①將昨天的佈局進行了修改:之前是fragment,改成FrameLayout佈局,不再設定name,進而在MainActivity就多了一步
就是先給記賬Fragment(也就是Account_Fragment)傳遞資料並進行佈局的切換,由此實現了將使用者名稱的資訊傳遞給第一個Fragment,其他的皆可由點選事件進行傳遞。
//將資料傳入到第一個記賬Account_Fragment同時將fragment進行切換到記賬佈局 Fragment fragment = new Account_Fragment(); fragment.setArguments(bundle);//資料傳遞到fragment中 FragmentManager fm = getFragmentManager(); // 獲取Fragment FragmentTransaction ft = fm.beginTransaction(); ft.replace(R.id.fragment,fragment); ft.commit();
②完成圖示的美化,當未點選時為灰色,當點選完成後變成彩色,便於使用者區分是哪個頁面。
③設定長按刪除。
由於是在Fragment頁面,我們想要使用長按刪除事件監聽,只能在onActivityCreated方法裡實現,該方法必須和onCreat方法同在,當onCreat方法執行完後就會執行該方法。
//實現長按刪除listview裡的item事件 public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); final ListView listView = (ListView) getActivity().findViewById(R.id.lv_main); listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> parent, final View view, final int position, long id) { AlertDialog.Builder builder=new AlertDialog.Builder(view.getContext()); builder.setMessage("確定刪除?"); builder.setTitle("提示"); final Account[] account = {null}; builder.setPositiveButton("確定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { account[0] =list.get(position); accountOperator.deletebycontent(account[0].content,account[0].author); list.remove(position); accountAdapter.notifyDataSetChanged(); Toast.makeText(view.getContext(), "刪除"+ account[0].content, Toast.LENGTH_SHORT).show(); } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); builder.create().show(); return false; } }); }
④模仿支付寶實現金額的動態增加:(明天下個錄播器,暫時只能這樣了看個圖片吧!)
明天要完成:圖表的展示(餅狀圖或者折線圖)
&n