Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Homework 3 #3

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,7 @@ dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:design:24.2.1'
compile 'com.android.support:recyclerview-v7:24.2.1'
compile 'com.android.support:cardview-v7:24.2.1'
}
5 changes: 4 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<activity
android:name=".ui.MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

Expand Down
42 changes: 0 additions & 42 deletions app/src/main/java/ru/evd1ser/moneytracker/MainActivity.java

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package ru.evd1ser.moneytracker.models;

public class CategoriesModel {

private String name;

public CategoriesModel(String name) {
this.name = name;
}

public String getName() {
return name;
}
}
20 changes: 20 additions & 0 deletions app/src/main/java/ru/evd1ser/moneytracker/models/ExpenseModel.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package ru.evd1ser.moneytracker.models;

public class ExpenseModel {

private String name;
private String prise;

public ExpenseModel(String name, String prise) {
this.name = name;
this.prise = prise;
}

public String getName() {
return name;
}

public String getPrise() {
return prise;
}
}
177 changes: 177 additions & 0 deletions app/src/main/java/ru/evd1ser/moneytracker/ui/MainActivity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
package ru.evd1ser.moneytracker.ui;

import android.os.Bundle;
import android.support.design.widget.NavigationView;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.MenuItem;

import ru.evd1ser.moneytracker.R;
import ru.evd1ser.moneytracker.ui.fragments.CategoriesFragment;
import ru.evd1ser.moneytracker.ui.fragments.ExpensesFragment;
import ru.evd1ser.moneytracker.ui.fragments.SettingsFragment;
import ru.evd1ser.moneytracker.ui.fragments.StatisticsFragment;

public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {

private static final String LOG_TAG = MainActivity.class.getSimpleName();

/**
* homework 2
*/
private Toolbar toolbar;

private void setupActionBar() {
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(true);
}
}

private DrawerLayout drawerLayout;
private NavigationView navigationView;
private ActionBarDrawerToggle toggle;

private void setupDrawerLayout() {
toggle = new ActionBarDrawerToggle(
this, drawerLayout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
assert drawerLayout != null;
drawerLayout.addDrawerListener(toggle);
//drawerLayout.setDrawerListener(toggle);
toggle.syncState();


navigationView.setNavigationItemSelectedListener(this);
setTitle(getString(R.string.app_name));

}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
navigationView = (NavigationView) findViewById(R.id.navigation_view);

setupActionBar();
setupDrawerLayout();
if (savedInstanceState == null){
replaceFragment(new ExpensesFragment());
// getSupportFragmentManager().beginTransaction()
// .replace(R.id.main_container, new ExpensesFragment(),
// ExpensesFragment.class.getSimpleName())
// .commit();
}

}

@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}



@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();

if (id == R.id.drawer_expenses) {
setTitle(R.string.nav_drawer_expenses);

navigationView.setCheckedItem(R.id.drawer_expenses);

replaceFragment(new ExpensesFragment());

} else if (id == R.id.drawer_categories) {
setTitle(R.string.nav_drawer_categories);

navigationView.setCheckedItem(R.id.drawer_categories);

replaceFragment(new CategoriesFragment());


} else if (id == R.id.drawer_statistics) {

setTitle(R.string.nav_drawer_statistics);

navigationView.setCheckedItem(R.id.drawer_statistics);

replaceFragment(new StatisticsFragment());

} else if (id == R.id.drawer_settings) {

setTitle(R.string.nav_drawer_settings);

navigationView.setCheckedItem(R.id.drawer_settings);

replaceFragment(new SettingsFragment());

} else if (id == R.id.nav_share) {

}

DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}

/**
* homework 1
*/


// @Override
// protected void onStart() {
// super.onStart();
// Log.d(LOG_TAG, "onStart");
// }
//
// @Override
// protected void onResume() {
// super.onResume();
// Log.d(LOG_TAG, "onResume");
// }
//
// @Override
// protected void onStop() {
// super.onStop();
// Log.d(LOG_TAG, "onStop");
// }
//
// @Override
// protected void onRestart() {
// super.onRestart();
// Log.d(LOG_TAG, "onRestart");
// }
private void replaceFragment(Fragment fragment) {
String backStackName = fragment.getClass().getName();

FragmentManager manager = getSupportFragmentManager();
boolean fragmentPopped = manager.popBackStackImmediate(backStackName, 0);

if (! fragmentPopped && manager.findFragmentByTag(backStackName) == null) {
FragmentTransaction ft = manager.beginTransaction();
ft.replace(R.id.main_container, fragment, backStackName);
ft.addToBackStack(backStackName);
ft.commit();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package ru.evd1ser.moneytracker.ui.adapters;

import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.List;

import ru.evd1ser.moneytracker.R;
import ru.evd1ser.moneytracker.models.CategoriesModel;

public class CategoriesAdapret extends RecyclerView.Adapter<CategoriesAdapret.CategoriesHolder> {

private List<CategoriesModel> categoriesList;

public CategoriesAdapret(List<CategoriesModel> categoriesList) {
this.categoriesList = categoriesList;
}


@Override
public CategoriesHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.categories_item, parent, false);
return new CategoriesHolder(itemView);
}

@Override
public void onBindViewHolder(CategoriesHolder holder, int position) {
CategoriesModel categories = categoriesList.get(position);
holder.name.setText(categories.getName());
}

@Override
public int getItemCount() {
return categoriesList.size();
}

class CategoriesHolder extends RecyclerView.ViewHolder {

TextView name;

public CategoriesHolder(View itemView) {
super(itemView);

name = (TextView) itemView.findViewById(R.id.categories_item_expense_name);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package ru.evd1ser.moneytracker.ui.adapters;

import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.List;

import ru.evd1ser.moneytracker.R;

import ru.evd1ser.moneytracker.models.ExpenseModel;

public class ExpensesAdapret extends RecyclerView.Adapter<ExpensesAdapret.ExpenseHolder> {

private List<ExpenseModel> expensesList;

public ExpensesAdapret(List<ExpenseModel> expensesList) {
this.expensesList = expensesList;
}



@Override
public ExpenseHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.expense_item, parent, false);
return new ExpenseHolder(itemView);
}

@Override
public void onBindViewHolder(ExpenseHolder holder, int position) {
ExpenseModel expense = expensesList.get(position);
holder.name.setText(expense.getName());
holder.prise.setText(expense.getPrise());
}

@Override
public int getItemCount() {
return expensesList.size();
}

class ExpenseHolder extends RecyclerView.ViewHolder {

TextView name;
TextView prise;

public ExpenseHolder(View itemView) {
super(itemView);

name = (TextView) itemView.findViewById(R.id.expense_item_expense_name);
prise = (TextView) itemView.findViewById(R.id.expense_item_expense_prise);
}
}
}
Loading