Доброе утро,
Быстрый запрос кодирования, который я хотел бы выдвинуть.
Я получил задание создать приложение на Android Studio с двумя кнопками, каждая из которых должна загружать новые страницы при нажатии.
Глава из наших книг объясняет, как сделать это с помощью одной кнопки, но я предполагаю, что может быть другая настройка с двумя кнопками?
В любом случае, это всего лишь второе задание в нашем классе, так что я не очень далек от понимания того, как все это работает; это и класс является курсом независимого обучения, поэтому я преподаю сам. Не всегда самое простое.
Во всяком случае, вот что у меня есть:
MainActivity.java
package com.example.thelatestmusicscene;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.buttonOne);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, MusicNewsOne.class));
}
});
Button button2 = (Button) findViewById(R.id.buttonTwo);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, MusicNewsTwo.class));
}
});
}
}
Я считаю, что это единственный файл, имеющий отношение к моей проблеме, но я могу опубликовать и другие, если вам нужно их увидеть.
Первая кнопка работает отлично, но когда я пытаюсь использовать вторую кнопку, приложение перестает работать. Я видел несколько объяснений в Интернете, но те немногие, которые я нашел о загрузке других страниц, дают мне кучу ошибок в моем коде.
Примечание. В книге показано, как это сделать, но я полностью за альтернативные методы.
Все остальное для этого приложения сделано, это просто ссылка на вторую страницу java, на которой я запинаюсь. Если вы знаете лучший способ выложить код, я весь в ушах, или если бы вы могли связать меня с ресурсом, который мог бы меня научить, я был бы признателен.
Хорошо, это будет запутанная часть. Когда я загрузил Android Studio для класса, я так и не смог запустить ни один из эмуляторов. Это была проблема, которую я также опубликовал, но на сегодняшний день до сих пор не получил ответа. Если у вас есть решение или вы хотите увидеть подробности того, что я пробовал, перейдите сюда: https://superuser.com/questions/1394568/android-studio-and-haxm-установка
В конце концов, я мог писать код, но не мог его тестировать. Однако я нашел способ запускать приложения на своем смартфоне, чтобы проверить, работают ли они. Разрешить Android Studio создать файл APK, а затем позволить моему телефону запустить приложение. Теперь… что касается ошибок. Их нет. Android Studio не вернется ни с чем. Что касается его, то все в порядке. Когда я загружаю приложение на свой телефон и нажимаю вторую кнопку, приложение закрывается, и я получаю сообщение «К сожалению, nameOfApp остановлен».
И вот я нахожу себя.
Вот XML (полагаю, вы имеете в виду AndroidManifest.xml)
<?xml version = "1.0" encoding = "utf-8"?>
<manifest xmlns:android = "http://schemas.android.com/apk/res/android"
package = "com.example.thelatestmusicscene">
<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 = ".MusicNewsTwo">
</activity>
<activity android:name = ".MusicNewsOne" />
<activity android:name = ".MainActivity">
<intent-filter>
<action android:name = "android.intent.action.MAIN" />
<category android:name = "android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Мне нужно немного поспать, но я попытаюсь сегодня получить отчет о сбое со своего телефона, если смогу.
Привет, пожалуйста, поделитесь трассировкой стека сбоя




Bro there are two ways to do this, start a new Activity like you are doing, and other is By Using one activity you can post the fragments on the same activity as much as you want i.e 1 ,2 3 and so on.here is the link for fragments, but you are very much biggner ill suggest you to start with the actitvity and learn about the Activity life cycle. you can find here . moreover tell me what the error you are getting, To find the error see a the bottom of android studio the option (Logcat) click on it . and see the error and past it in the comment.
Несколько заметок
.xml.Что могло пойти не так
Одна из часто встречающихся проблем:
Предполагая, что вы скопировали его только из своего класса, вы могли столкнуться с ошибкой, говорящей о том, что ваш MusicNewsTwo.class не объявлен в AndroidManifest.xml, сделайте следующее:
Какое может быть возможное решение
<application
android:label = "Example APp"
android:supportsRtl = "true"
android:theme = "@style/AppTheme">
<activity
android:name = "package.path.to.MusicNewsOne">
<intent-filter>
<action android:name = "android.intent.action.MAIN" />
<category android:name = "android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- Add this activity if missing -->
<activity
android:name = "package.path.to.MusicNewsTwo"/>
</application>
Я обновлю свой ответ, если вы примете во внимание раздел Несколько заметок моего ответа, в противном случае, если я получил ваш ответ, напишите уже с этим, прокомментируйте.
Брат, ваш файл MainActivity.java имеет правильный код. Пожалуйста, проверьте имя кнопки в файле xml и java и проверьте файл манифеста либо MusicNewsTwo, добавленный как активность.
И убедитесь, что у вас есть файлы java и xml в правильном месте.
Обнаружил проблему в самом телефоне. Оказывается, это была ошибка разрешения на загрузку сторонних приложений; мой код был на самом деле идеальным. Спасибо за все предложения.
Я думаю, что IDs из views в layout : "activity_main" отличаются от тех, которые вы используете в файле MainActivity.java.
Пожалуйста, поделитесь трассировкой стека сбоя.