Android Studio от двух кнопок до двух страниц - PullRequest
0 голосов
/ 24 января 2019

Доброе утро,

Быстрый запрос на кодирование, который я хотел бы выдвинуть.

Я получил задание на создание приложения для 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-installation

В конце концов, я мог бы написать код, но не смог его протестировать.Однако я нашел способ запускать приложения на своем смартфоне, чтобы проверить, работают ли они.Позволить 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>

Мне нужно немного поспать, но я постараюсь получитьСегодня я могу сообщить о сбое с моего телефона.

Ответы [ 5 ]

0 голосов
/ 31 июля 2019

Я думаю, IDs из views в layout : "activity_main" отличается от тех, которые вы используете в MainActivity.java файле

0 голосов
/ 25 февраля 2019

Нашел проблему в самом телефоне. Оказывается, это была ошибка разрешения для загрузки сторонних приложений; мой код был на самом деле идеальным. Спасибо за все предложения, хотя.

0 голосов
/ 24 января 2019

Несколько заметок

  • Возможно, вам потребуется предоставить журнал / стек / трассировку аварии (чтобы мы знали, как ее решить)
  • Выможет также потребоваться предоставить нам макет или файл .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>

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

0 голосов
/ 24 января 2019

Брат, ваш файл MainActivity.java имеет правильный код.Пожалуйста, проверьте имя кнопки в XML и Java-файле, а также проверьте файл манифеста, либо MusicNewsTwo, добавленный в качестве действия.

И убедитесь, что у вас есть и Java, и XML-файл в правильном месте.

0 голосов
/ 24 января 2019

Брат, есть два способа сделать это, начать новую активность, как вы делаете, и другой - Используя одно действие, вы можете публиковать фрагменты в том же действии, сколько хотите, то есть 1, 2 3и т. д. здесь приведена ссылка на фрагменты , но вы очень сильно заблуждаетесь, предлагая вам начать с деятельности и узнать о жизненном цикле Деятельности. вы можете найти здесь .более того, скажите мне, какую ошибку вы получаете, чтобы найти ошибку, посмотрите в нижней части Android Studio вариант (Logcat), нажмите на нее.и увидите ошибку и вставьте ее в комментарий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...