Мое приложение падает, когда я пытаюсь реализовать полосу прокрутки - PullRequest
0 голосов
/ 03 июля 2018

У меня проблема с моим приложением, я недавно начал программировать в Android-студии, и у меня возникла проблема, которую я не могу решить. Таким образом, у меня есть главная страница с 4 действиями, когда я запускаю программу в эмуляторе, приложение открывается, и 3 из действий работают отлично, но тот, где я пытаюсь реализовать полосу прокрутки, падает, когда я нажимаю, чтобы открыть действие.

Вот код:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="5dp"
    android:paddingRight="5dp"
    android:paddingBottom="5dp"
    android:paddingTop="5dp" 
    tools:context=".coffeeGrowth" >

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

                <TextView
                    android:id="@+id/textView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:keepScreenOn="true"
                    android:text="@string/large_text"
                    android:textColor="#008000"
                    android:textSize="30sp"
                    android:textStyle="italic" />

        </RelativeLayout>


</ScrollView>

И крушение:

07/03 16:54:21: Запуск приложения $ adb install-множественный -r -t -p com.example.android.coffeeknowledge C: \ Users \ Daud Джавад \ CoffeeKnowledge \ приложение \ сборка \ промежуточных \ мгновенного-вводного APK \ Debug \ App-debug.apk Сплит APKs установлены $ adb shell am start -n "Com.example.android.coffeeknowledge / com.example.android.coffeeknowledge.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER Клиент еще не готов ... Ожидание запуска процесса Подключено к процесс 10196 на устройстве-эмуляторе-5554 Захват и отображение logcat сообщения из приложения. Такое поведение можно отключить в Раздел «Выход Logcat» на странице настроек «Отладчик». D /: HostConnection :: get () Новое соединение с хостом установлено 0x8aa1c1c0, tid 10196 D /: HostConnection :: get () Установлено новое соединение с хостом 0x8aa1c540, tid 10218 I / OpenGLRenderer: инициализированный EGL, версия 1.4 D / OpenGLRenderer: поведение подкачки 1 W / OpenGLRenderer: не удалось выбрать конфиг с EGL_SWAP_BEHAVIOR_PRESERVED, повторная попытка без ... D / OpenGLRenderer: поведение свопинга 0 D / EGL_emulation: eglCreateContext: 0x8a9fe920: май 2 мин 0 rcv 2 D / EGL_emulation: eglMakeCurrent: 0x8a9fe920: версия 2 0 (tinfo 0x99d98910) W / art: до Android 4.1, метод int android.support.v7.widget.DropDownListView.lookForSelectablePosition (интермедиат, логическое) неправильно переопределил бы метод package-private в android.widget.ListView D / EGL_emulation: eglMakeCurrent: 0x8a9fe920: версия 2 0 (tinfo 0x99d98910) D / AndroidRuntime: завершение работы VM E / AndroidRuntime: ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основное Процесс: com.example.android.coffeeknowledge, PID: 10196 java.lang.RuntimeException: невозможно запустить действие ComponentInfo {com.example.android.coffeeknowledge / com.example.android.coffeeknowledge.coffeeGrowth}: java.lang.NullPointerException: попытка вызвать виртуальный метод 'void android.view.View.setOnClickListener (android.view.View $ OnClickListener)» на нулевой ссылке на объект на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2665) на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2726) на android.app.ActivityThread.-wrap12 (ActivityThread.java) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1477) на android.os.Handler.dispatchMessage (Handler.java:102) на android.os.Looper.loop (Looper.java:154) на android.app.ActivityThread.main (ActivityThread.java:6119) в java.lang.reflect.Method.invoke (родной метод) на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:886) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:776) Вызывается: java.lang.NullPointerException: попытка вызвать виртуальный метод 'void android.view.View.setOnClickListener (android.view.View $ OnClickListener)» на нулевой ссылке на объект на com.example.android.coffeeknowledge.coffeeGrowth.onCreate (coffeeGrowth.java:98) на android.app.Activity.performCreate (Activity.java:6679) на android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1118) на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2618)на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2726) на android.app.ActivityThread.-wrap12 (ActivityThread.java) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1477) на android.os.Handler.dispatchMessage (Handler.java:102) на android.os.Looper.loop (Looper.java:154) на android.app.ActivityThread.main (ActivityThread.java:6119) в java.lang.reflect.Method.invoke (родной метод) на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:886) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:776) Приложение прекращено.

Спасибо, Дауд.

1 Ответ

0 голосов
/ 03 июля 2018

Ваш XML неверен, мой друг.

ScrollView не является опцией макета. Это вид. Так что вам нужно обернуть свой макет вокруг прокрутки. Имейте в виду, что ScrollView может иметь только ОДНОГО ребенка.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="5dp"
    android:paddingRight="5dp"
    android:paddingBottom="5dp"
    android:paddingTop="5dp" tools:context=".coffeeGrowth" >

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">


    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:keepScreenOn="true"
        android:text="@string/large_text"
        android:textColor="#008000"
        android:textSize="30sp"
        android:textStyle="italic" />

   </ScrollView>

</RelativeLayout>
...