MAIN Activity

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Ответить
Аватара пользователя
walle
Сообщения: 28
Зарегистрирован: 28 авг 2013, 10:10

MAIN Activity

Сообщение walle » 19 окт 2013, 13:09

Подскажите, пожалуйста, как изменить активити, который запускается в начале?

Аватара пользователя
walle
Сообщения: 28
Зарегистрирован: 28 авг 2013, 10:10

Re: MAIN Activity

Сообщение walle » 19 окт 2013, 14:05

Вообщем когда я прописываю у активности, которая должна стартовать вместе с приложением
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>

У меня вылетает ошибка
Error: The intent-filter of the activity must contain android.intent.action.MAIN action

В чем тут дело не пойму...

Вот manifest

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

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.va.alienvest"
          android:versionCode="1"
          android:versionName="1.0">
    <uses-sdk android:minSdkVersion="15"/>
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <application android:label="@string/app_name"
        android:icon="@drawable/ic_launcher"
        android:debuggable="true"
        android:theme="@android:style/Theme.Holo.Light.DarkActionBar">

        <activity android:name=".Tabs"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>


        <activity android:name=".AlienVest"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.Holo">
        <!--
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
                -->
        </activity>

        <activity android:name=".FullImageActivity"
                android:label="FullImage">
        </activity>

        <activity android:name=".AboutMe"
                  android:label="AboutMe"
                  android:theme="@android:style/Theme.Dialog">
        </activity>

        <activity android:name=".Radio"
                  android:label="Radio">
        </activity>


    </application>
</manifest>

Аватара пользователя
trew
Сообщения: 450
Зарегистрирован: 28 сен 2013, 17:34

Re: MAIN Activity

Сообщение trew » 19 окт 2013, 15:26

Покажите класс Tabs, может его нет.
В нём должны быть строчки
[syntax=java]import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class Tabs extends Activity {

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

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.temp, menu);
return true;
}

}[/syntax]
Можно попробовать в eclipce: Project -Clear

Почему строка android:label="@string/app_name" в манифесте повторяется?
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.

Аватара пользователя
walle
Сообщения: 28
Зарегистрирован: 28 авг 2013, 10:10

Re: MAIN Activity

Сообщение walle » 19 окт 2013, 16:07

trew писал(а):Покажите класс Tabs, может его нет.
В нём должны быть строчки
[syntax=java]import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class Tabs extends Activity {

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

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.temp, menu);
return true;
}

}[/syntax]
Можно попробовать в eclipce: Project -Clear

Почему строка android:label="@string/app_name" в манифесте повторяется?

класс Tabs
[syntax=java]
package com.va.alienvest;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TabHost;

/**
* Created by Василий on 18.10.13.
*/

public class Tabs extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tabs);

TabHost tabs = (TabHost) findViewById(android.R.id.tabhost);

tabs.setup();

TabHost.TabSpec spec = tabs.newTabSpec("tag1");

spec.setContent(R.id.tab1);
spec.setIndicator("tab1");
tabs.addTab(spec);

spec = tabs.newTabSpec("tag2");
spec.setContent(R.id.tab2);
spec.setIndicator("tab1");
tabs.addTab(spec);

spec = tabs.newTabSpec("tag3");
spec.setContent(R.id.tab3);
spec.setIndicator("tab1");
tabs.addTab(spec);

tabs.setCurrentTab(0);
}
}
[/syntax]

Я android studio пользуюсь.
android:label разные поставил.
И ошибка та же, когда я пытаюсь другие активности первыми запустить.

Аватара пользователя
trew
Сообщения: 450
Зарегистрирован: 28 сен 2013, 17:34

Re: MAIN Activity

Сообщение trew » 19 окт 2013, 16:28

Не понятно, зачем другие активности запускать первыми? Вы просто экспериментируйте ?
При создании проекта создается главная активность.
У неё в манифесте есть вот такие фильтры (которые отвечаю за то, какая активити - главная)
[syntax=xml]<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>[/syntax]
У других активностей таких фильтров не должно быть.

Могу предложить вам создать новый проект и скопировать туда из старого только код класса Tabs.
Если проект будет запускаться, скопировать остальные классы.
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.

Аватара пользователя
walle
Сообщения: 28
Зарегистрирован: 28 авг 2013, 10:10

Re: MAIN Activity

Сообщение walle » 19 окт 2013, 16:46

trew писал(а):Не понятно, зачем другие активности запускать первыми? Вы просто экспериментируйте ?
При создании проекта создается главная активность.
У неё в манифесте есть вот такие фильтры (которые отвечаю за то, какая активити - главная)
[syntax=xml]<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>[/syntax]
У других активностей таких фильтров не должно быть.

Могу предложить вам создать новый проект и скопировать туда из старого только код класса Tabs.
Если проект будет запускаться, скопировать остальные классы.
Пересобирать не сильно хочется.
Я так проверял он работает.
Ну все равно спс, тут видно у меня какой-то баг.

Ответить