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

Task 1 with fragments #4

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
apply plugin: 'com.android.application'

android {
compileSdkVersion 20
buildToolsVersion "20.0.0"
compileSdkVersion 19
buildToolsVersion '20.0.0'

defaultConfig {
applicationId "com.noveogroup.task1"
minSdkVersion 8
minSdkVersion 11
targetSdkVersion 19
versionCode 1
versionName "1.0"
Expand All @@ -22,4 +22,5 @@ android {
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:19.+'

}
22 changes: 16 additions & 6 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,11 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.noveogroup.task1">
package="com.noveogroup.task1">

<application android:allowBackup="true"
android:label="@string/app_name"
android:icon="@drawable/ic_launcher"
android:theme="@style/AppTheme">
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name=".StartActivity"
android:label="@string/title_activity_start">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>

</application>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>

</manifest>
47 changes: 47 additions & 0 deletions app/src/main/java/com/noveogroup/task1/ReadFragment.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package com.noveogroup.task1;


import android.os.Bundle;
import android.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.DatePicker;
import android.widget.EditText;

import java.util.Calendar;


/**
* A simple {@link Fragment} subclass.
*/
@SuppressWarnings({"ConstantConditions", "ResourceType"})
public class ReadFragment extends Fragment {


public ReadFragment() {

// Required empty public constructor
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_read, container, false);
}

public String getName() {
return ((EditText) getView().findViewById(R.id.name_input)).getText().toString();
}

public String getSurname() {
return ((EditText) getView().findViewById(R.id.surname_input)).getText().toString();
}

public Calendar getBirthDate() {
DatePicker datePicker = (DatePicker) getView().findViewById(R.id.birthdate_input);
Calendar calendar = Calendar.getInstance();
calendar.set(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth());
return calendar;
}
}
65 changes: 65 additions & 0 deletions app/src/main/java/com/noveogroup/task1/ShowFragment.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
package com.noveogroup.task1;


import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.Calendar;


/**
* A simple {@link android.app.Fragment} subclass.
*/
public class ShowFragment extends Fragment {

private static final String NAME_STRING = "name";
private static final String SURNAME_STRING = "surname";
private static final String BIRTH_DATE_STRING = "birth_date";

public static ShowFragment newInstance(String name, String surname, Calendar birthDate) {
ShowFragment fragment = new ShowFragment();
Bundle args = new Bundle();
args.putString(NAME_STRING, name);
args.putString(SURNAME_STRING, surname);
args.putSerializable(BIRTH_DATE_STRING, birthDate);
fragment.setArguments(args);
return fragment;
}

@SuppressWarnings("ConstantConditions")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_show, container, false);
applyInfo(view);
return view;
}


private void applyInfo(View view) {
TextView currentTextView = (TextView) view.findViewById(R.id.name_text);
currentTextView.setText(getString(R.string.name_text, getArguments().getString(NAME_STRING)));
currentTextView = (TextView) view.findViewById(R.id.surname_text);
currentTextView.setText(getString(R.string.surname_text, getArguments().getString(SURNAME_STRING)));
currentTextView = (TextView) view.findViewById(R.id.birthday_text);
int age = getAge((Calendar) getArguments().getSerializable(BIRTH_DATE_STRING));
if (age < 0) {
currentTextView.setText(getString(R.string.not_born));
} else {
currentTextView.setText(getString(R.string.age_text, age));
}
}

private int getAge(Calendar birthDate) {
Calendar now = Calendar.getInstance();
int result = now.get(Calendar.YEAR) - birthDate.get(Calendar.YEAR);
if (now.get(Calendar.DAY_OF_YEAR) <= birthDate.get(Calendar.DAY_OF_MONTH)) {
--result;
}
return result;
}
}
38 changes: 38 additions & 0 deletions app/src/main/java/com/noveogroup/task1/StartActivity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package com.noveogroup.task1;

import android.app.Fragment;
import android.app.FragmentTransaction;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;

public class StartActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
replaceFragment(new ReadFragment());
}

private void replaceFragment(Fragment fragment) {
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}

private Fragment getCurrentFragment() {
return getFragmentManager().findFragmentById(R.id.fragment_container);
}

@SuppressWarnings("ResourceType")
public void sendInfo(View view) {
ReadFragment readFragment = (ReadFragment) getCurrentFragment();
ShowFragment showFragment = ShowFragment.newInstance(readFragment.getName(), readFragment.getSurname(), readFragment.getBirthDate());
replaceFragment(showFragment);
//showFragment.applyInfo(readFragment.getName(), readFragment.getSurname(), readFragment.getBirthDate());
System.out.println(getCurrentFragment());
}

}
47 changes: 47 additions & 0 deletions app/src/main/res/layout/activity_read.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:gravity="center"
android:orientation="vertical"
tools:context="com.noveogroup.task1.ReadActivity">

<EditText
android:id="@+id/name_input"
android:hint="@string/name_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"/>


<EditText
android:id="@+id/surname_input"
android:hint="@string/surname_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"/>


<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/birthdate_label"
android:textSize="24sp"/>

<DatePicker
android:id="@+id/birthdate_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:calendarViewShown="false"/>

<Button
android:text="@string/send_button_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="sendInfo"/>

</LinearLayout>
35 changes: 35 additions & 0 deletions app/src/main/res/layout/activity_show.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:gravity="center"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"

tools:context="com.noveogroup.task1.ShowActivity">

<TextView
android:id="@+id/name_text"
android:text="@string/name_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp" />

<TextView
android:id="@+id/surname_text"
android:text="@string/surname_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp" />

<TextView
android:id="@+id/birthday_text"
android:text="@string/age_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp" />

</LinearLayout>
13 changes: 13 additions & 0 deletions app/src/main/res/layout/activity_start.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<FrameLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android">


<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</FrameLayout>
47 changes: 47 additions & 0 deletions app/src/main/res/layout/fragment_read.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:gravity="center"
android:orientation="vertical"
tools:context="com.noveogroup.task1.ReadActivity">

<EditText
android:id="@+id/name_input"
android:hint="@string/name_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"/>


<EditText
android:id="@+id/surname_input"
android:hint="@string/surname_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"/>


<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/birthdate_label"
android:textSize="24sp"/>

<DatePicker
android:id="@+id/birthdate_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:calendarViewShown="false"/>

<Button
android:text="@string/send_button_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="sendInfo"/>

</LinearLayout>
35 changes: 35 additions & 0 deletions app/src/main/res/layout/fragment_show.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:gravity="center"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"

tools:context="com.noveogroup.task1.ShowActivity">

<TextView
android:id="@+id/name_text"
android:text="@string/name_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp"/>

<TextView
android:id="@+id/surname_text"
android:text="@string/surname_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp"/>

<TextView
android:id="@+id/birthday_text"
android:text="@string/age_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp"/>

</LinearLayout>
Loading