1. 程式人生 > >安卓開發實戰-記賬本APP(五)

安卓開發實戰-記賬本APP(五)

今天將昨天剩餘的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