Перед тем, как сделать downvote: у меня есть googled это в течение часа + сейчас и до сих пор не могу понять, почему это не работает. Я следую the official docs.ActivityNotFoundException при открытии другого действия с помощью Intent
Я хочу открыть другое мероприятие из моей основной деятельности с намерением. Это мой основной класс активности (MainActivity.java
):
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout l = new LinearLayout(this);
Button b = new Button(this);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent goToActivity2 = new Intent(MainActivity.this, Activity2.class);
MainActivity.this.startActivity(goToActivity2);
}
});
l.addView(b);
this.setContentView(l);
}
}
И это Activity2.java
:
public class Activity2 extends Activity {
}
Если я запустить приложение я буду видеть основную деятельность с серой кнопки. Если я нажимаю на кнопку, я получаю Исключение:
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.testing.kaarelp.androidtest2/com.testing.kaarelp.androidtest2.Activity2}; have you declared this activity in your AndroidManifest.xml?
Почему я получаю исключение? Что здесь не так?
------------- edit1 ---------------
хорошо я объявил другую активность в манифесте, как это:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.testing.kaarelp.androidtest2">
<application>
<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=".Activity2" />
</application>
</manifest>
... и приложение работает прямо сейчас! Тем не менее, я смотрю на другой пример рабочего кода прямо сейчас, у которого есть несколько Activity-s, которые не объявлены в манифесте, и он все еще работает. Что происходит?!
------------- edit2 ---------------
Ааа я понял это. Пример кода я смотрел на содержащемся множественный Fragment
-s, не Activity
-s
Сообщение от исключения; «Вы объявили эту активность в своем AndroidManifest.xml?» – Bryan
Я читал это. Я знаю, что вам не нужно объявлять неосновные действия в манифесте – gibs
Да. Каждый из них. – Bryan