packagecom.example.familybook;importandroid.content.DialogInterface;importandroid.database.Cursor;importandroid.os.Bundle;importcom.google.android.material.floatingactionbutton.FloatingActionButton;importcom.google.android.material.snackbar.Snackbar;importandroidx.appcompat.app.AlertDialog;importandroidx.appcompat.app.AppCompatActivity;importandroidx.appcompat.widget.Toolbar;importandroid.renderscript.Script;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.widget.DatePicker;importandroid.widget.EditText;importandroid.widget.ListView;importjava.util.ArrayList;importjava.util.List;public class MainActivity extendsAppCompatActivity {private ListmCostBeanList;privateDatabaseHelper mDatabaseHelper;privateCostListAdapter adapter;

@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Toolbar toolbar=findViewById(R.id.toolbar);

setSupportActionBar(toolbar);

mDatabaseHelper=new DatabaseHelper(this);

mCostBeanList=new ArrayList<>();//给ListView设置写好的适配器

ListView costList=(ListView)findViewById(R.id.lv_main);

initCostData();

adapter=new CostListAdapter(this,mCostBeanList);

costList.setAdapter(adapter);

FloatingActionButton fab=(FloatingActionButton)findViewById(R.id.fab);

fab.setOnClickListener(newView.OnClickListener() {

@Overridepublic voidonClick(View view) {

AlertDialog.Builder builder= new AlertDialog.Builder(MainActivity.this);

LayoutInflater inflater=LayoutInflater.from(MainActivity.this);

View viewDialog=inflater.inflate(R.layout.new_cost_data,null);final EditText title=(EditText)viewDialog.findViewById(R.id.et_cost_title);final EditText money=(EditText)viewDialog.findViewById(R.id.et_cost_money);final DatePicker date=(DatePicker)viewDialog.findViewById(R.id.dp_cost_date);

builder.setView(viewDialog);

builder.setTitle("添加新的账单");

builder.setPositiveButton("确定", newDialogInterface.OnClickListener() {

@Overridepublic void onClick(DialogInterface dialog, intwhich) {

CostBean costBean=newCostBean();

costBean.costTitle=title.getText().toString();

costBean.costMoney=money.getText().toString();

costBean.costDate=date.getYear()+"-"+(date.getMonth()+1)+"-"+date.getDayOfMonth();

mDatabaseHelper.insertCost(costBean);//调用插入函数

mCostBeanList.add(costBean);

adapter.notifyDataSetChanged();//时时刷新界面

}

});

builder.setNegativeButton("返回",null);

builder.create().show();//没有他触发事件不会显示出来

}

});

}private voidinitCostData() {//mDatabaseHelper.deleteAllData();//for (int i=0;i<6;i++) {//CostBean costBean = new CostBean();//costBean.costTitle = i+"mock";//costBean.costDate = "11-11";//costBean.costMoney = "20";//mCostBeanList.add(costBean);//mDatabaseHelper.insertCost(costBean);//}

Cursor cursor=mDatabaseHelper.getAllCostData();if(cursor!=null){while(cursor.moveToNext()){

CostBean costBean=newCostBean();

costBean.costTitle=cursor.getString(cursor.getColumnIndex("cost_title"));

costBean.costDate=cursor.getString(cursor.getColumnIndex("cost_date"));

costBean.costMoney=cursor.getString(cursor.getColumnIndex("cost_money"));

mCostBeanList.add(costBean);

}

cursor.close();

}

}

@Overridepublic booleanonCreateOptionsMenu(Menu menu) {//Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.menu_main, menu);return true;

}

@Overridepublic booleanonOptionsItemSelected(MenuItem item) {//Handle action bar item clicks here. The action bar will//automatically handle clicks on the Home/Up button, so long//as you specify a parent activity in AndroidManifest.xml.

int id =item.getItemId();//noinspection SimplifiableIfStatement

if (id ==R.id.action_settings) {return true;

}return super.onOptionsItemSelected(item);

}

}

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐