Урок 25. Task. Что это такое и как формируется

Обсуждение уроков
Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Урок 25. Task. Что это такое и как формируется

Сообщение Mikhail_dev » 23 июл 2014, 22:28

Добрый день
Каким образом это относится к теме урока?
Если приложение падает, то пишет ошибку. Чтобы найти ошибки ответ, посмотрите этот вебинар - viewtopic.php?f=60&t=3198

lekseyich
Сообщения: 4
Зарегистрирован: 23 июл 2014, 14:49

Re: Урок 25. Task. Что это такое и как формируется

Сообщение lekseyich » 28 июл 2014, 09:45

Просто хочу разобраться почему проект собранный в эклипсе дает использовать тему для второго активити "Theme.Dialog", а скомпилированное такое же приложение в студии при вызове второго активити с такой же темой вываливается с ошибкой.

seredasv
Сообщения: 1
Зарегистрирован: 01 авг 2014, 10:07

Re: Урок 25. Task. Что это такое и как формируется

Сообщение seredasv » 01 авг 2014, 10:10

lekseyich писал(а):Просто хочу разобраться почему проект собранный в эклипсе дает использовать тему для второго активити "Theme.Dialog", а скомпилированное такое же приложение в студии при вызове второго активити с такой же темой вываливается с ошибкой.
Пропиши во втором Activity
" extends Activity ", студия по автомату ставит почему-то "extends ActionBarActivity".

Ну и импорты сделай соответственно.

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Урок 25. Task. Что это такое и как формируется

Сообщение Mikhail_dev » 01 авг 2014, 11:09

Ну чтобы это понять, посмотрите вебинар. Без инфорации об ошибке - это всё гадание на кофейной гуще.

Nalladchik
Сообщения: 2
Зарегистрирован: 27 фев 2015, 23:17

Re: Урок 25. Task. Что это такое и как формируется

Сообщение Nalladchik » 27 фев 2015, 23:40

Всем привет.Создателям сайта и всем тем людям, которые принимают участие в развитии этого ресурса, огромное спасибо за ваш труд.

Вот собственно мой вопрос.
Создал два активити, у каждого активити кнопка перехода на другой активити, при нажатии на которую? нужный активити , дублируется в стаке.
как от этого избавиться??

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Урок 25. Task. Что это такое и как формируется

Сообщение Mikhail_dev » 28 фев 2015, 15:35

Поставьте параметр к активностям в манифест android:launchMode="singleTop"
да и вообще рекомендую почитать про эти флаги (singleTop и прочие)

Аватара пользователя
NovikPY
Сообщения: 26
Зарегистрирован: 31 янв 2015, 21:37
Откуда: Беларусь

Re: Урок 25. Task. Что это такое и как формируется

Сообщение NovikPY » 18 мар 2015, 17:56

Подскажите пожалуйста, как в Android Studio в AndroidManifest прописать вот эту часть урока:

Для этого открываем AndroidManifest.xml, вкладка Application, находим там ActivityTwo и справа в поле Theme пишем такой текст: @android:style/Theme.Dialog

Так как в AS все прописывается ручками, попробовал сам написать необходимый код, но запустив приложение, понял, что мой код ни к чему не приводит :cry:
Собственно, вот код, добавленный мной в AndroidManifest:

Код: Выделить всё

<activity
            android:name=".two"
            android:label="@string/title_activity_two"
            android:theme="@style/AppTheme"
            android:parentActivityName=".MainActivity" >
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="ru.startandroid.p0241_twoactivitystate.MainActivity" />
        </activity>
Заранее благодарен ;)

megaivan01
Сообщения: 1
Зарегистрирован: 20 мар 2015, 14:09

Re: Урок 25. Task. Что это такое и как формируется

Сообщение megaivan01 » 20 мар 2015, 14:14

Для Activiti Two надо прописать:
<activity
android:name=".Two"
android:label="@string/title_activity_two"
android:parentActivityName=".MainActivity"
android:theme="@android:style/Theme.Dialog" >
</activity>

baxter
Сообщения: 1
Зарегистрирован: 03 апр 2015, 09:10

Re: Урок 25. Task. Что это такое и как формируется

Сообщение baxter » 14 апр 2015, 15:48

NovikPY писал(а):Подскажите пожалуйста, как в Android Studio в AndroidManifest прописать вот эту часть урока:

Для этого открываем AndroidManifest.xml, вкладка Application, находим там ActivityTwo и справа в поле Theme пишем такой текст: @android:style/Theme.Dialog
у меня в Android Studio 1.1.0 заработало вот так:

Код: Выделить всё

        
<activity
     android:name=".ActivityTwo"
     android:label="@string/title_activity_activity_two"
     android:theme="@style/Base.Theme.AppCompat.Dialog">
</activity>

CrazyShotz
Сообщения: 8
Зарегистрирован: 17 фев 2016, 09:18

Re: Урок 25. Task. Что это такое и как формируется

Сообщение CrazyShotz » 03 мар 2016, 10:20

Маленькая и незначительная поправка - после нажатия на кнопку Назад в браузере, кнопка Вперед появляется. Другими словами вы переходами прокладываете иерархическую дорожку, а затем перемещаетесь по ней вперед-назад. Можно ли реализовать такое в Андроид приложении? Чтобы при переходе назад не стиралась предыдущая активити?
P.S.
Все ещё новичек) И спасибо автору, за простое разъяснение )

AndreyS
Сообщения: 1
Зарегистрирован: 25 апр 2016, 22:28

Re: Урок 25. Task. Что это такое и как формируется

Сообщение AndreyS » 25 апр 2016, 22:34

KamiSempai писал(а):Если вам нужно вернуться к предыдущей Activity просто вызываете finish(). Вызов метода startActivity тут лишний.
Подскажите, пожалуйста, в чем может быть ошибка, если при вызове finish() из второго Activity у меня происходит не возврат к первому(главному),а сразу же выход из приложения?

Уже разобрался сам. Извините за лишнее беспокойство!

FedorInvin
Сообщения: 2
Зарегистрирован: 05 ноя 2017, 15:30

Re: Урок 25. Task. Что это такое и как формируется

Сообщение FedorInvin » 05 ноя 2017, 15:40

Здравствуйте.
Не могу разобраться с добавлением theme для второго активити в манифесте в Андроид студио. Опишите, пожалуста, что для этого нужно добавить для второго activity помимо строчки: android:theme="@android:style/Theme.Dialog"
Вопрос решен, если кому понадобится:

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.twoactivitystate">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.AppCompat">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".ActivityTwo"
            android:label="ActivityTwo"
            android:theme="@style/Theme.AppCompat.Dialog">
        </activity>
    </application>

</manifest>

zmeytee
Сообщения: 2
Зарегистрирован: 29 сен 2019, 17:03

Re: Урок 25. Task. Что это такое и как формируется

Сообщение zmeytee » 16 окт 2019, 22:02

В АС манифест так написал для второго активити, вроде работает))

<activity android:name=".ActivityTwo"
android:theme="@style/Theme.AppCompat.Dialog">
</activity>

alexHackerNoob
Сообщения: 1
Зарегистрирован: 21 фев 2020, 20:41

Re: Урок 25. Task. Что это такое и как формируется

Сообщение alexHackerNoob » 22 фев 2020, 00:24

Решение к вопросу о том как в AndroidStudio в xml файле прописать тему.
1)перенесети android:theme="@style/AppTheme"> из характеристик тега application в характеристики тега activity для MainActivity. А для тега activity, который принадлежит ActivityTwo, прописать свою тему. пример файла AndroidManifest.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.lesson24_changingactivities">

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true">
<activity android:name=".MainActivity"
android:theme="@style/AppTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

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

<activity android:name=".ActivityTwo"
android:theme="@style/Theme.AppCompat.Dialog">
</activity>
</application>

</manifest>

Skleptik
Сообщения: 4
Зарегистрирован: 20 апр 2020, 20:03

Re: Урок 25. Task. Что это такое и как формируется

Сообщение Skleptik » 21 апр 2020, 08:37

Для тех кто не сразу понял(как я например) поясню :
Открываем манифест, и редактируем ручками его, никаких окон и вкладок искать не надо.
В коде подписал что делать.

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.p0241twoactivitystate">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true">
        <activity android:name=".MainActivity"
            android:theme="@style/AppTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>++++++ ВОТ ТУТ НАЖИМАЕМ "ENTER"+++++++++++++++++++++++
        ++++++++++++++++И печатаем ручками текст который НИЖЕ++++++++++++
        ++++++++++++++++Плюсики и мою писанину  удалить      +++++++++++++     
        
        <activity android:name=".ActivityTwo"
                  android:theme="@style/Theme.AppCompat.Dialog">
        </activity>
    </application>

</manifest>

w00lfenstein
Сообщения: 2
Зарегистрирован: 30 июн 2020, 22:19

Re: Урок 25. Task. Что это такое и как формируется

Сообщение w00lfenstein » 09 июл 2020, 12:27

Привет всем.
Получилось следующее на Android Studio 4.0

MainActivity.java

Код: Выделить всё

package ru.startandroid.p0241twoactivitystate;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;



public class MainActivity extends Activity implements OnClickListener {

    final String TAG = "States";

    Button btnActTwo;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        btnActTwo = findViewById(R.id.btnActTwo);
        btnActTwo.setOnClickListener(this);

        Log.d(TAG, "MainActivity: onCreate()");
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        Log.d(TAG, "MainActivity: onRestart()");
    }

    @Override
    protected void onStart() {
        super.onStart();
        Log.d(TAG, "MainActivity: onStart()");
    }

    @Override
    protected void onResume() {
        super.onResume();
        Log.d(TAG, "MainActivity: onResume()");
    }

    @Override
    protected void onPause() {
        super.onPause();
        Log.d(TAG, "MainActivity: onPause()");
    }

    @Override
    protected void onStop() {
        super.onStop();
        Log.d(TAG, "MainActivity: onStop()");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.d(TAG, "MainActivity: onDestroy()");
    }

    @Override
    public void onClick(View v) {
        Intent intent = new Intent(this, ActivityTwo.class);
        startActivity(intent);
    }
}
ActivityTwo.java

Код: Выделить всё

package ru.startandroid.p0241twoactivitystate;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;


public class ActivityTwo extends Activity {

    final String TAG = "States";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.two);
        Log.d(TAG, "ActivityTwo: onCreate()");
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        Log.d(TAG, "ActivityTwo: onRestart()");
    }

    @Override
    protected void onStart() {
        super.onStart();
        Log.d(TAG, "ActivityTwo: onStart()");
    }

    @Override
    protected void onResume() {
        super.onResume();
        Log.d(TAG, "ActivityTwo: onResume()");
    }

    @Override
    protected void onPause() {
        super.onPause();
        Log.d(TAG, "ActivityTwo: onPause()");
    }

    @Override
    protected void onStop() {
        super.onStop();
        Log.d(TAG, "ActivityTwo: onStop()");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.d(TAG, "ActivityTwo: onDestroy()");
    }
}
main.xml

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello">
    </TextView>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/go_to_activity_two"
        android:id="@+id/btnActTwo">
    </Button>
</LinearLayout>
two.xml

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/this_is_activity_two"></TextView>
</LinearLayout>
и наконец AndroidManifest.xml

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="ru.startandroid.p0241twoactivitystate">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".ActivityTwo"
            android:theme="@android:style/Theme.Dialog">
        </activity>
        <activity 
            android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
Изображение

woffi
Сообщения: 1
Зарегистрирован: 09 авг 2020, 19:30

Re: Урок 25. Task. Что это такое и как формируется

Сообщение woffi » 09 авг 2020, 19:44

Всем спасибо! Долго пытался добиться такого же результата, но все никак в логах не получал того, что должно было быть. В итоге помогло ручное редактирование AndroidManifest.xml с

Код: Выделить всё

<activity android:name=".ActivityTwo"></activity>
на

Код: Выделить всё

<activity android:name=".ActivityTwo"
     android:theme="@style/Base.Theme.AppCompat.Dialog">
</activity>
Заметил такой момент, что после нескольких запусков приложения на эмуляторе логи перестают обновляться. Помогает перезапуск AndroidStudio, но непонятно, почему такое происходит.

Установлена AS 4.0.1

Rolik
Сообщения: 14
Зарегистрирован: 05 апр 2021, 06:42

Re: Урок 25. Task. Что это такое и как формируется

Сообщение Rolik » 05 май 2021, 16:17

Ссылка на Хабр, с подробным объяснением темы:

https://habr.com/ru/post/186434/

andreii
Сообщения: 3
Зарегистрирован: 08 янв 2022, 10:42

Re: Урок 25. Task. Что это такое и как формируется

Сообщение andreii » 12 янв 2022, 21:38

woffi писал(а):
09 авг 2020, 19:44

Заметил такой момент, что после нескольких запусков приложения на эмуляторе логи перестают обновляться. Помогает перезапуск AndroidStudio, но непонятно, почему такое происходит.

Установлена AS 4.0.1
Нужно проверить что выбран нужный эмулятор для отображения логов.

Ответить