Skip to content

Commit

Permalink
ProblemInfo: init
Browse files Browse the repository at this point in the history
  • Loading branch information
matveevk committed Mar 26, 2017
1 parent 8c2c912 commit 139de4a
Show file tree
Hide file tree
Showing 6 changed files with 131 additions and 27 deletions.
7 changes: 5 additions & 2 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,20 @@
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">

<activity android:name=".ProblemActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

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

<activity
android:name=".ProblemInfo"
android:parentActivityName=".ProblemActivity"
android:label="@string/title_activity_problem_info"
android:theme="@style/AppTheme.NoActionBar"></activity>
android:theme="@style/AppTheme.NoActionBar">
</activity>
</application>

</manifest>
10 changes: 7 additions & 3 deletions app/src/main/java/com/example/root/prepolymp/Problem.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,33 +6,37 @@ public class Problem {
int id = 0;
String text = "Текст недоступен";
String ans = "";
String topic = "Не указано";
int form = 9;
int diff = 3;
String origins = "Неизвестно";

Problem() {
}

Problem(int id, String text, String ans, int form, int diff, String origins) {
Problem(int id, String text, String ans, String topic, int form, int diff, String origins) {
this.id = id;
this.text = text;
this.ans = ans;
this.topic = topic;
this.form = form;
this.diff = diff;
this.origins = origins;
}

Problem(int id, String text, String ans, int form, int diff) {
Problem(int id, String text, String ans, String topic, int form, int diff) {
this.id = id;
this.text = text;
this.ans = ans;
this.topic = topic;
this.form = form;
this.diff = diff;
}

Problem(int id, String text, String ans) {
Problem(int id, String text, String ans, String topic) {
this.id = id;
this.text = text;
this.topic = topic;
this.ans = ans;
}

Expand Down
32 changes: 21 additions & 11 deletions app/src/main/java/com/example/root/prepolymp/ProblemActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,20 @@

import org.w3c.dom.Text;

import java.lang.reflect.Array;
import java.util.ArrayList;

public class ProblemActivity extends AppCompatActivity {

public static final String EXTRA_MESSAGE = "com.example.root.prepolymp.MESSAGE";
public static ArrayList<Problem> problems= new ArrayList<>();

// id, text, answer, form, difficulty, origins

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


/*
// stretching the linearLayout to what we need (and problemText)
LinearLayout linearLayout = (LinearLayout)findViewById(R.id.linearLayoutProblemInfo);
Expand All @@ -34,18 +38,12 @@ protected void onCreate(Bundle savedInstanceState) {
tv.setWidth(width);
*/

Problem problem = new Problem(1, "Найдите наименьшее натуральное число, кратное 99, в десятичной записи которого участвуют только чётные цифры.", "228888");
Problem problem = new Problem(1, "Найдите наименьшее натуральное число, кратное 99, в десятичной записи которого участвуют только чётные цифры.", "228888", "алгебра");
problems.add(problem);

showProblem(problem);

ImageButton infoImageButton = (ImageButton)findViewById(R.id.infoImageButton);
infoImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(view.getContext(), ProblemInfo.class);
view.getContext().startActivity(intent);
}
});
openInfo(problem);

checkAns(problem);
}
Expand All @@ -57,6 +55,18 @@ public void showProblem(Problem problem) {
problemInfo.setText(getString(R.string.problem_data, problem.id, problem.form, problem.diff));
}

public void openInfo(final Problem problem) {
ImageButton infoImageButton = (ImageButton)findViewById(R.id.infoImageButton);
infoImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(view.getContext(), ProblemInfo.class);
intent.putExtra(EXTRA_MESSAGE, problem.id);
view.getContext().startActivity(intent);
}
});
}

public void checkAns(final Problem problem) {
final EditText userAns = (EditText)findViewById(R.id.insertAnswer);
Button checkAnsButton = (Button)findViewById(R.id.checkButton);
Expand Down
21 changes: 18 additions & 3 deletions app/src/main/java/com/example/root/prepolymp/ProblemInfo.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.example.root.prepolymp;

import android.app.ActionBar;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
Expand All @@ -14,11 +16,24 @@ public class ProblemInfo extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_problem_info);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBar ab = getActionBar();
//ab.setDisplayHomeAsUpEnabled(true);

Intent intent = getIntent();
int problemId = intent.getIntExtra(ProblemActivity.EXTRA_MESSAGE, 1);
Problem problem = ProblemActivity.problems.get(problemId - 1);

TextView tv1 = (TextView)findViewById(R.id.problemNo);
tv1.setText("Задача № " + problem.id);
TextView tv2 = (TextView)findViewById(R.id.problemForm);
tv2.setText("Класс: " + problem.form);
TextView tv3 = (TextView)findViewById(R.id.problemDiff);
tv3.setText("Сложность: " + problem.diff);
TextView tv4 = (TextView)findViewById(R.id.problemTopic);
tv4.setText("Тема: " + problem.topic);

TextView tv = (TextView)findViewById(R.id.problemNo);
tv.setText(getString(R.string.problem_no));
}

}
85 changes: 79 additions & 6 deletions app/src/main/res/layout/content_problem_info.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,29 +15,102 @@
android:layout_height="wrap_content"
android:id="@+id/vertical_hl_1"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.05" />
app:layout_constraintGuide_percent="0.05"
tools:layout_editor_absoluteY="0dp"
tools:layout_editor_absoluteX="19dp" />

<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/vertical_hl_2"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.95" />
app:layout_constraintGuide_percent="0.95"
tools:layout_editor_absoluteY="0dp"
tools:layout_editor_absoluteX="365dp" />

<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/horizontal_hl_1"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.06"/>
app:layout_constraintGuide_percent="0.05"
tools:layout_editor_absoluteY="34dp"
tools:layout_editor_absoluteX="0dp" />

<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/horizontal_hl_2"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.1"
tools:layout_editor_absoluteY="34dp"
tools:layout_editor_absoluteX="0dp" />

<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/horizontal_hl_3"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.15"
tools:layout_editor_absoluteY="34dp"
tools:layout_editor_absoluteX="0dp" />

<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/horizontal_hl_4"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.2"
tools:layout_editor_absoluteY="34dp"
tools:layout_editor_absoluteX="0dp" />

<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/horizontal_hl_5"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.25"
tools:layout_editor_absoluteY="34dp"
tools:layout_editor_absoluteX="0dp" />

<TextView
android:id="@+id/problemNo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="@string/app_name"
app:layout_constraintBottom_toBottomOf="@id/horizontal_hl_1"
app:layout_constraintLeft_toLeftOf="@id/vertical_hl_1" />
android:text="Номер задачи"
app:layout_constraintTop_toBottomOf="@+id/horizontal_hl_1"
app:layout_constraintBottom_toTopOf="@+id/horizontal_hl_2"
app:layout_constraintLeft_toLeftOf="@+id/vertical_hl_1" />

<TextView
android:id="@+id/problemForm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="Класс"
app:layout_constraintTop_toBottomOf="@id/horizontal_hl_2"
app:layout_constraintBottom_toTopOf="@id/horizontal_hl_3"
app:layout_constraintLeft_toLeftOf="@+id/vertical_hl_1"/>

<TextView
android:id="@+id/problemDiff"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="Сложность"
app:layout_constraintTop_toBottomOf="@id/horizontal_hl_3"
app:layout_constraintBottom_toTopOf="@id/horizontal_hl_4"
app:layout_constraintLeft_toLeftOf="@+id/vertical_hl_1"/>

<TextView
android:id="@+id/problemTopic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="Тема"
app:layout_constraintTop_toBottomOf="@id/horizontal_hl_4"
app:layout_constraintBottom_toTopOf="@id/horizontal_hl_5"
app:layout_constraintLeft_toLeftOf="@+id/vertical_hl_1"/>

</android.support.constraint.ConstraintLayout>
3 changes: 1 addition & 2 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
<string name="problem_info">Информация о задаче</string>

<string name="problem_data" formatted="false">Задача № %d. Класс: %d. Сложность: %d</string>
<string name="title_activity_problem_info">ProblemInfo</string>
<string name="title_activity_problem_info">Информация о задаче</string>

<string name="problem_no">Новая активность запущена!</string>
</resources>

0 comments on commit 139de4a

Please sign in to comment.