Esempio n. 1
0
  @Override
  public void onResume() {
    super.onResume();

    final ListView budgetList = (ListView) findViewById(R.id.list);
    final TextView helpText = (TextView) findViewById(R.id.helpText);

    DBHelper db = new DBHelper(this);

    if (db.getBudgetCount() > 0) {
      budgetList.setVisibility(View.VISIBLE);
      helpText.setVisibility(View.GONE);
    } else {
      budgetList.setVisibility(View.GONE);
      helpText.setVisibility(View.VISIBLE);
      helpText.setText(R.string.noBudgets);
    }

    final Calendar date = Calendar.getInstance();

    // Set to the last ms at the end of the month
    final long dateMonthEndMs =
        CalendarUtil.getEndOfMonthMs(date.get(Calendar.YEAR), date.get(Calendar.MONTH));

    // Set to beginning of the month
    final long dateMonthStartMs =
        CalendarUtil.getStartOfMonthMs(date.get(Calendar.YEAR), date.get(Calendar.MONTH));

    final Bundle b = getIntent().getExtras();
    final long budgetStartMs =
        b != null ? b.getLong("budgetStart", dateMonthStartMs) : dateMonthStartMs;
    final long budgetEndMs = b != null ? b.getLong("budgetEnd", dateMonthEndMs) : dateMonthEndMs;

    date.setTimeInMillis(budgetStartMs);
    String budgetStartString = DateFormat.getDateInstance(DateFormat.SHORT).format(date.getTime());

    date.setTimeInMillis(budgetEndMs);
    String budgetEndString = DateFormat.getDateInstance(DateFormat.SHORT).format(date.getTime());

    String dateRangeFormat = getResources().getString(R.string.dateRangeFormat);
    String dateRangeString = String.format(dateRangeFormat, budgetStartString, budgetEndString);

    final TextView dateRangeField = (TextView) findViewById(R.id.dateRange);
    dateRangeField.setText(dateRangeString);

    final List<Budget> budgets = db.getBudgets(budgetStartMs, budgetEndMs);
    final BudgetAdapter budgetListAdapter = new BudgetAdapter(this, budgets);
    budgetList.setAdapter(budgetListAdapter);

    budgetList.setOnItemClickListener(
        new AdapterView.OnItemClickListener() {
          @Override
          public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Budget budget = (Budget) parent.getItemAtPosition(position);

            Intent i = new Intent(getApplicationContext(), BudgetViewActivity.class);
            Bundle bundle = new Bundle();
            bundle.putString("id", budget.name);
            bundle.putBoolean("view", true);
            i.putExtras(bundle);
            startActivity(i);
          }
        });
  }