从小到大都是对金钱没什么概念的孩纸。。。这学期突然决定好好管管自己生活费了!于是先做了个超级超级超级简易版的收支记录簿 接下来有时间会改进的!

ps:第二篇博客了!还是一样 欢迎大家指错哦~

步骤
1.在Android Studio上新建项目,命名随意0.0

2.设计界面
嗯…还是一如既往的简(low)洁

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"><TextView
        android:id="@+id/asset"android:layout_width="match_parent"android:layout_height="100dp"android:gravity="center"android:textSize="50dp"android:textColor="#8DB6CD" /><LinearLayout
        android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><Button
            android:id="@+id/income"android:layout_weight="1"android:layout_width="0dp"android:layout_height="wrap_content"android:text="收入" /><Button
            android:id="@+id/outcome"android:layout_weight="1"android:layout_width="0dp"android:layout_height="wrap_content"android:text="支出"/></LinearLayout>
</LinearLayout>

大概长这样

噢 因为不喜欢默认的蓝色 稍微改了一下顶上那个框框的颜色(是叫ActionBar?)
因为不知道怎么改,百度了好多,觉得都好复杂懒得动。。。不过幸运的发现了下边这个非常简单就能够更改啦(虽然不知道这样会不会有什么隐患。。。)
更改layout/values/color.xml

<?xml version="1.0" encoding="utf-8"?>
<resources><color name="colorPrimary">#BF3EFF</color><color name="colorPrimaryDark">#E0FFFF</color><color name="colorAccent">#FF7F50</color>
</resources>

给大家推荐一个颜色查询对照表http://www.cnblogs.com/android100/p/android-rgb-list.html
我用的三个颜色是这样的

3.接下来当然就是写主要的代码了
package activitytest.example.com.pangbo;

import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

private TextView textView ;private EditText editText;private AlertDialog.Builder dialog ;private Button income, outcome;private int money = 10000 ;@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);dialog = new AlertDialog.Builder(MainActivity.this);editText = new EditText(this);textView = (TextView) findViewById(R.id.asset);textView.setText(Integer.toString(money));income = (Button) findViewById(R.id.income);income.setOnClickListener(this);outcome = (Button) findViewById(R.id.outcome);outcome.setOnClickListener(this);}@Override
public void onClick(View v) {switch (v.getId()){case R.id.income:dialog = new AlertDialog.Builder(MainActivity.this);editText = new EditText(this);dialog.setTitle("请输入收入金额").setView(editText).setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {String str = editText.getText().toString();int ic = Integer.parseInt(str);money += ic;textView.setText(Integer.toString(money));}}).setNegativeButton("取消", null).show();break;case R.id.outcome:dialog = new AlertDialog.Builder(MainActivity.this);editText = new EditText(this);dialog.setTitle("请输入支出金额").setView(editText).setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {String str = editText.getText().toString();int ic = Integer.parseInt(str);money -= ic;textView.setText(Integer.toString(money));}}).setNegativeButton("取消", null).show();break;}
}

}
大致流程是点击收入->弹出AlertDialog->输入收入金额->点击确定->总资产变多
点支出类似

最后一定一定要讲一个遇到的bug
起初点击一次按钮是正常的,但是点击第二次按钮(无论哪个),程序就会停止!
问了同学说是AlertDialog应该定义在类的成员变量里,尝试过后还是停止运行了。。。
于是百度去了,然而没得答案0.0
后谷歌,终于!找到了问题所在
因为EditText只有一个实例 第二次调用show()的时候 引用的还是第一次的实例
0.0感觉我该滚回去学JAVA

收支系统(超超超简版)1.0相关推荐

  1. 鸿蒙系统明年上市巧,鸿蒙系统官网下载-鸿蒙系统官网下载手机版 v2.0下载-955游戏网...

    鸿蒙系统官网下载手机版优势: 1.华为自家的操作系统,不管是兼容性还是稳定性都比较强大 2.可以适用的地方更多的,手机.电脑.手表.电视等等都可以使用 3.这款操作系统最早看你会在今年秋季上市,最晚会 ...

  2. centOS系统下openGauss极简版安装

    安装环境准备: 提示:因为openGauss没有提供ubuntu和windows安装包,所以选择安装在centOS 前提条件: 1.已完成用户组和普通用户的创建. 2.所有服务器操作系统和网络均正常运 ...

  3. 【只需4步】windows server系统下快速安装绿色版apache-tomcat-8.0.35(免安装版)

    戳https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-8/v8.5.60/bin/apache-tomcat-8.5.60.zip 下载好了解压到你一个不 ...

  4. 百日完成国产数据库opengausss的开源任务--openGuass极简版3.0.0安装教程

  5. 2023去水印小程序saas系统源码修复独立版v1.0.3+uniapp前端

  6. XP图片查看器的替代软件-超简版ACDSee

    (图1)Win2000下可以达到WinXp图片查看器效果的软件. .Win2000Sp4是个很不错的系统除了主题和部份小功能外其兼容性及实用性可以说超过xp. 可能因为Win2000刚出来给人们的印象 ...

  7. 一款超赞极简开源文件共享系统,无需注册可直接下载文件

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! ​ 在日常的工作当中,大家可能经常会遇到文件共享的问题,简单一点的会用QQ.微信之类的工具临时处理一下,稍微多点的 ...

  8. win10图标变白纸_超详细的纯净版win10安装教程,手把手教你学会,小白秒变大神!...

    最近很多用户问怎么安装纯净版的win10系统,那么今天针对这个问题,和大家分享一下超详细的纯净版win10安装教程,手把手教学,大伙们赶紧收藏哦! 如何安装?这一完整教程分为4个部分: 准备工作→系统 ...

  9. 路人超能100手游如何用电脑玩 路人超能100PC电脑版玩法教程

    <路人超能100>手游是一款根据动漫全新改编而成的二次元游戏,极大程度地还原动漫原著设定,包括动画场景.剧情.人物造型和关系等等,且设置了大量在常规手游中不常见的交互元素,旨在做成&quo ...

  10. python做按键精灵脚本_Python 实现按键精灵的功能,超简单详细(MAC版)

    前言: 想看Windows版的同窗能够看Python 实现按键精灵的功能,超简单详细(Windows版) 以前写了Windows版的python实现按键精灵功能.如今我鸟枪换炮换了个新的mac.发现以 ...

最新文章

  1. BZOJ3566 SHOI2014概率充电器(动态规划+概率期望)
  2. Freemarker模板嵌套
  3. 谋定数字农业生态系统 万亿市场对话中国农民丰收节交易会
  4. java同步锁如何使用_java 同步锁(synchronized)的正确使用姿势
  5. Console-算法[for,if]-一堆桃子和一只猴子
  6. oracle12c考试内容,12c ocp考试内容
  7. 数据结构与算法--复杂链表的复制
  8. [js] 使用js实现一个图片剪裁的功能
  9. 12-思科防火墙:ASA会话超时
  10. 阿里第一颗芯片问世,平头哥发布最强AI芯片含光800
  11. python 内置_python 内置
  12. 杰富瑞主管:若BTC回落,将增加养老基金投资组合中的加密货币成分
  13. Java 多线程 4:wait() 和 notify()/notifyAll()
  14. 经验之谈:学习 Visual Studio Code 不会错!
  15. linux下重新分区、数据备份相关(parted、dd等命令)
  16. Ubuntu搭建KMS服务
  17. 交友约会APP源码大家有吗
  18. vue-router 基本使用
  19. Android中 一些维持状态的经验
  20. 8.PPP拨号 获取ip地址

热门文章

  1. 扫地机器人充电插座布置_扫地机器人插座离地面多高合适 扫地机器人好不好用...
  2. windows安装golang多版本管理工具gvm/g
  3. 阿里云原生实践:基于 Alluxio 数据缓存的大规模深度学习训练性能优化
  4. 以太坊开发(一)——Truffle和Ganache
  5. 罗永浩和王自如的对质怎么看?
  6. 计算机毕业论文乐谱播放器,给大家推荐一个超强的播放器!我刚发现的。居然显示乐谱...
  7. R语言绘图patchwork拼图详解快速实现组合图拼接
  8. 猫眼5万条评论告诉你《飞驰人生》值不值得看?!
  9. ConcurrentMap为神马好
  10. cesium里面能不能导入动画_cesium 添加动态 gif 图片