2014-12-17 3 views
0

У меня проблема с попыткой перейти к определенному классу в моем приложении Android с использованием Intent.Проблемы с запуском Android

Это мой код установки:

Intent Secondscreenintent = new Intent(this, Secondscreen.class); 

ошибка, что она дает мне это

android.content.ActivityNotFoundException: Unable to find explicit activity class {/project10.aventus.quiz.Secondscreen}; have you declared this activity in your AndroidManifest.xml? 

Посмотрев на мой манифест, я не мог видеть, какие ошибки, которые указывали бы на это сообщение.

<activity 
    android:name=".Main" 
    android:configChanges="orientation|keyboardHidden|screenSize" 
    android:label="Quiz"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 

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

<activity 
    android:name=".Secondscreen" 
    android:label="Secondscreen" /> 
<activity 
android:name=".Quizclass" 
android:label="Quizclass"/> 

Это теги в теге.

Но почему-то я все еще получаю класс не найденной ошибки. Я даже попытался передать намерение в Main.class, и это дало ту же ошибку, что не может найти основной класс.

У кого-нибудь есть идея, как это исправить?

Thanks, Shams.

+0

Ничто другое в StackTrace, no NullPointerException? Все действия находятся в одном пакете 'project10.aventus.quiz', объявленном в файле' AndroidManifest.xml'? – shkschneider

+0

Попробуйте этот андроид: name = "<имя пакета> .Secondscreen" i.e: android: name = "com.example.Secondscreen" – Palak

+0

ваш Secondscreen.class не объявлен в файле манифеста, добавьте его. – prakash

ответ

1

В вас AndroidManifest.xml вы найдете некоторые вещи, как это:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="project10.aventus.quiz" 
    android:versionCode="1" 
    android:versionName="your_version_code"> 
    ... 
</manifest> 

пакет определяет корень вашей реализации. Так что вам не придется писать полный путь, если вы определяете Activities, BroadcastReceiver и т.д. ...

Таким образом, вы делаете это таким образом:

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

Эта запись означает, - вы найдете мой Secondscreen .java в моей корневой папке aka package. В вашем случае это будет project10.aventus.quiz.

Так что я хочу, чтобы ваш Secondscreen.java не существует. Я создаю новый ВСЕГДА подпакет ui в моей корневой папке, так что моя запись деятельности выглядит следующим образом:

<activity 
     android:name=".ui.Secondscreen" 
     android:label="@string/second_screen" 
     android:screenOrientation="portrait" > 
</activity> 

Теперь эта запись означает - вы не найдете мой Secondscreen.java здесь: project10.aventus.quiz.ui.Secondscreen.java