-
Notifications
You must be signed in to change notification settings - Fork 57
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
Activities 01 #35
base: master
Are you sure you want to change the base?
Activities 01 #35
Changes from 3 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
package otus.gpb.homework.activities | ||
|
||
import android.content.Intent | ||
import android.os.Bundle | ||
import android.widget.Button | ||
import androidx.appcompat.app.AppCompatActivity | ||
|
||
class MainActivityA : AppCompatActivity(R.layout.activity_main_a) { | ||
|
||
override fun onCreate(savedInstanceState: Bundle?) { | ||
super.onCreate(savedInstanceState) | ||
val button = findViewById<Button>(R.id.button_activity_B) | ||
button.setOnClickListener { | ||
val intent = Intent(this, MainActivityB::class.java).apply { | ||
flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Неверный режим запуска активити. Новый таск не создается. Почитайте документацию на FLAG_ACTIVITY_NEW_TASK |
||
} | ||
startActivity(intent) | ||
} | ||
} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Я б тут советовал завести метод |
||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
package otus.gpb.homework.activities | ||
|
||
import android.content.Intent | ||
import android.os.Bundle | ||
import android.widget.Button | ||
import androidx.appcompat.app.AppCompatActivity | ||
|
||
class MainActivityB : AppCompatActivity(R.layout.activity_main_b) { | ||
|
||
|
||
override fun onCreate(savedInstanceState: Bundle?) { | ||
super.onCreate(savedInstanceState) | ||
setContentView(R.layout.activity_main_b) | ||
} | ||
|
||
override fun onStart() { | ||
super.onStart() | ||
|
||
val button = findViewById<Button>(R.id.button_activity_C) | ||
val button2 = findViewById<Button>(R.id.button_activity_AB) | ||
|
||
button.setOnClickListener { | ||
val intent = Intent(this, MainActivityC::class.java) | ||
startActivity(intent) | ||
} | ||
button2.setOnClickListener { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Кнопки перехода на активити А тут быть не должно |
||
val intent = Intent(this, MainActivityA::class.java) | ||
startActivity(intent) | ||
} | ||
} | ||
|
||
override fun onNewIntent(intent: Intent?) { | ||
super.onNewIntent(intent) | ||
|
||
|
||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
package otus.gpb.homework.activities | ||
|
||
import android.content.Intent | ||
import android.os.Bundle | ||
import android.widget.Button | ||
import androidx.appcompat.app.AppCompatActivity | ||
|
||
class MainActivityC : AppCompatActivity() { | ||
override fun onCreate(savedInstanceState: Bundle?) { | ||
super.onCreate(savedInstanceState) | ||
setContentView(R.layout.activity_main_c) | ||
} | ||
|
||
override fun onStart() { | ||
super.onStart() | ||
|
||
val button = findViewById<Button>(R.id.button_activity_D) | ||
val button2 = findViewById<Button>(R.id.button_close_activity_C) | ||
|
||
button.setOnClickListener { | ||
val intent = Intent(this, MainActivityD::class.java).apply { | ||
flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK | ||
} | ||
startActivity(intent) | ||
} | ||
|
||
|
||
button2.setOnClickListener { | ||
val intent = Intent(this,MainActivityB::class.java).apply { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. По заданию, явного перехода на активити Б с активити Ц нет. Должна быть кнопка завершения активити Ц |
||
flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK | ||
} | ||
|
||
startActivity(intent) | ||
} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Отсутствует преход на активити А с закрытием стека |
||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
package otus.gpb.homework.activities | ||
|
||
import android.os.Bundle | ||
import android.widget.Button | ||
import androidx.appcompat.app.AppCompatActivity | ||
|
||
class MainActivityD : AppCompatActivity() { | ||
override fun onCreate(savedInstanceState: Bundle?) { | ||
super.onCreate(savedInstanceState) | ||
setContentView(R.layout.activity_main_d) | ||
} | ||
|
||
override fun onStart() { | ||
super.onStart() | ||
|
||
val button = findViewById<Button>(R.id.button_clear_D) | ||
|
||
button.setOnClickListener { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. В активити Д по заданию нет кнопок |
||
finishAffinity() | ||
} | ||
|
||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<androidx.constraintlayout.widget.ConstraintLayout | ||
xmlns:android="http://schemas.android.com/apk/res/android" | ||
xmlns:app="http://schemas.android.com/apk/res-auto" | ||
xmlns:tools="http://schemas.android.com/tools" | ||
android:layout_width="match_parent" | ||
android:layout_height="match_parent" | ||
android:background="#f44336" | ||
tools:context=".MainActivityA"> | ||
|
||
<Button | ||
android:id="@+id/button_activity_B" | ||
android:layout_width="250dp" | ||
android:layout_height="70dp" | ||
android:layout_marginBottom="284dp" | ||
android:text="Open activity B" | ||
app:layout_constraintBottom_toBottomOf="parent" | ||
app:layout_constraintEnd_toEndOf="parent" | ||
app:layout_constraintStart_toStartOf="parent"> | ||
</Button> | ||
|
||
</androidx.constraintlayout.widget.ConstraintLayout> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
xmlns:app="http://schemas.android.com/apk/res-auto" | ||
xmlns:tools="http://schemas.android.com/tools" | ||
android:layout_width="match_parent" | ||
android:layout_height="match_parent" | ||
android:background="#4caf50" | ||
tools:context=".MainActivityB"> | ||
|
||
<Button | ||
android:id="@+id/button_activity_C" | ||
android:layout_width="250dp" | ||
android:layout_height="70dp" | ||
android:layout_marginBottom="252dp" | ||
android:text="Open activity C" | ||
app:layout_constraintBottom_toBottomOf="parent" | ||
app:layout_constraintEnd_toEndOf="parent" | ||
app:layout_constraintHorizontal_bias="0.496" | ||
app:layout_constraintStart_toStartOf="parent"></Button> | ||
|
||
<Button | ||
android:id="@+id/button_activity_AB" | ||
android:layout_width="250dp" | ||
android:layout_height="70dp" | ||
android:layout_marginBottom="100dp" | ||
android:text="Open activity A" | ||
app:layout_constraintBottom_toBottomOf="parent" | ||
app:layout_constraintEnd_toEndOf="parent" | ||
app:layout_constraintHorizontal_bias="0.496" | ||
app:layout_constraintStart_toStartOf="parent"></Button> | ||
|
||
</androidx.constraintlayout.widget.ConstraintLayout> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
xmlns:app="http://schemas.android.com/apk/res-auto" | ||
xmlns:tools="http://schemas.android.com/tools" | ||
android:layout_width="match_parent" | ||
android:layout_height="match_parent" | ||
android:background="#2196f3" | ||
tools:context=".MainActivityC"> | ||
|
||
<Button | ||
android:id="@+id/button_activity_D" | ||
android:layout_width="250dp" | ||
android:layout_height="70dp" | ||
android:layout_marginBottom="260dp" | ||
android:text="Open activity D" | ||
app:layout_constraintBottom_toBottomOf="parent" | ||
app:layout_constraintEnd_toEndOf="parent" | ||
app:layout_constraintStart_toStartOf="parent"> | ||
|
||
</Button> | ||
|
||
<Button | ||
android:id="@+id/button_close_activity_C" | ||
android:layout_width="250dp" | ||
android:layout_height="70dp" | ||
android:layout_marginBottom="128dp" | ||
android:text="Close activity C" | ||
app:layout_constraintBottom_toBottomOf="parent" | ||
app:layout_constraintEnd_toEndOf="parent" | ||
app:layout_constraintStart_toStartOf="parent"> | ||
|
||
</Button> | ||
|
||
</androidx.constraintlayout.widget.ConstraintLayout> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
xmlns:app="http://schemas.android.com/apk/res-auto" | ||
xmlns:tools="http://schemas.android.com/tools" | ||
android:layout_width="match_parent" | ||
android:layout_height="match_parent" | ||
android:background="#ffeb3b" | ||
tools:context=".MainActivityD"> | ||
|
||
<Button | ||
android:id="@+id/button_clear_D" | ||
android:layout_width="250dp" | ||
android:layout_height="70dp" | ||
android:layout_marginBottom="148dp" | ||
android:text="Close Stack" | ||
app:layout_constraintBottom_toBottomOf="parent" | ||
app:layout_constraintEnd_toEndOf="parent" | ||
app:layout_constraintStart_toStartOf="parent"> | ||
|
||
</Button> | ||
|
||
|
||
</androidx.constraintlayout.widget.ConstraintLayout> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,45 @@ | ||
<resources> | ||
<string name="app_name">Activities</string> | ||
<!-- Strings used for fragments for navigation --> | ||
<string name="first_fragment_label">First Fragment</string> | ||
<string name="second_fragment_label">Second Fragment</string> | ||
<string name="next">Next</string> | ||
<string name="previous">Previous</string> | ||
|
||
<string name="lorem_ipsum"> | ||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam in scelerisque sem. Mauris | ||
volutpat, dolor id interdum ullamcorper, risus dolor egestas lectus, sit amet mattis purus | ||
dui nec risus. Maecenas non sodales nisi, vel dictum dolor. Class aptent taciti sociosqu ad | ||
litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse blandit eleifend | ||
diam, vel rutrum tellus vulputate quis. Aliquam eget libero aliquet, imperdiet nisl a, | ||
ornare ex. Sed rhoncus est ut libero porta lobortis. Fusce in dictum tellus.\n\n | ||
Suspendisse interdum ornare ante. Aliquam nec cursus lorem. Morbi id magna felis. Vivamus | ||
egestas, est a condimentum egestas, turpis nisl iaculis ipsum, in dictum tellus dolor sed | ||
neque. Morbi tellus erat, dapibus ut sem a, iaculis tincidunt dui. Interdum et malesuada | ||
fames ac ante ipsum primis in faucibus. Curabitur et eros porttitor, ultricies urna vitae, | ||
molestie nibh. Phasellus at commodo eros, non aliquet metus. Sed maximus nisl nec dolor | ||
bibendum, vel congue leo egestas.\n\n | ||
Sed interdum tortor nibh, in sagittis risus mollis quis. Curabitur mi odio, condimentum sit | ||
amet auctor at, mollis non turpis. Nullam pretium libero vestibulum, finibus orci vel, | ||
molestie quam. Fusce blandit tincidunt nulla, quis sollicitudin libero facilisis et. Integer | ||
interdum nunc ligula, et fermentum metus hendrerit id. Vestibulum lectus felis, dictum at | ||
lacinia sit amet, tristique id quam. Cras eu consequat dui. Suspendisse sodales nunc ligula, | ||
in lobortis sem porta sed. Integer id ultrices magna, in luctus elit. Sed a pellentesque | ||
est.\n\n | ||
Aenean nunc velit, lacinia sed dolor sed, ultrices viverra nulla. Etiam a venenatis nibh. | ||
Morbi laoreet, tortor sed facilisis varius, nibh orci rhoncus nulla, id elementum leo dui | ||
non lorem. Nam mollis ipsum quis auctor varius. Quisque elementum eu libero sed commodo. In | ||
eros nisl, imperdiet vel imperdiet et, scelerisque a mauris. Pellentesque varius ex nunc, | ||
quis imperdiet eros placerat ac. Duis finibus orci et est auctor tincidunt. Sed non viverra | ||
ipsum. Nunc quis augue egestas, cursus lorem at, molestie sem. Morbi a consectetur ipsum, a | ||
placerat diam. Etiam vulputate dignissim convallis. Integer faucibus mauris sit amet finibus | ||
convallis.\n\n | ||
Phasellus in aliquet mi. Pellentesque habitant morbi tristique senectus et netus et | ||
malesuada fames ac turpis egestas. In volutpat arcu ut felis sagittis, in finibus massa | ||
gravida. Pellentesque id tellus orci. Integer dictum, lorem sed efficitur ullamcorper, | ||
libero justo consectetur ipsum, in mollis nisl ex sed nisl. Donec maximus ullamcorper | ||
sodales. Praesent bibendum rhoncus tellus nec feugiat. In a ornare nulla. Donec rhoncus | ||
libero vel nunc consequat, quis tincidunt nisl eleifend. Cras bibendum enim a justo luctus | ||
vestibulum. Fusce dictum libero quis erat maximus, vitae volutpat diam dignissim. | ||
</string> | ||
</resources> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
тут нам сингл-таск, вроде бы, не нужен. Для запуска в отдельном таске можно или taskAffinity применить, или флажками вытащить активити Б на другой таск, а дальше уже оно само