Приложение Android неожиданно останавливается при сборке ... Проблема с файлом XML-макета? - PullRequest
1 голос
/ 17 июля 2010

Я до сих пор строил голые приложения в Eclipse, используя адаптированную версию приложения LunarLander, разработанную разработчиками Android. Я настроил биты и кусочки и вообще не имею ошибок, хотя, когда я запускаю его в эмуляторе, он продолжает говорить, что «приложение неожиданно остановилось», и мне нужно принудительно закрыть.

Возможно ли, что мой файл макета main.xml вызывает эту проблему? Моя выглядит так:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/distractions_layout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/text"  
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="@string/hello"
/>
</LinearLayout>

но их выглядит так:

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.

->

<com.example.android.lunarlander.LunarView
  android:id="@+id/lunar"
  android:layout_width="match_parent"
  android:layout_height="match_parent"/>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <TextView
      android:id="@+id/text"
              android:text="@string/lunar_layout_text_text"
              android:visibility="visible"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerInParent="true"
      android:gravity="center_horizontal"
      android:textColor="#88ffffff"
      android:textSize="24sp"/>
 </RelativeLayout>

Может ли это быть причиной невозможности запуска приложения? Если мне нужно будет опубликовать свой код, я сделаю это, но в нем будет более 900 строк, поэтому подумал, что я просто посмотрю, не была ли это вначале проблемой?

Спасибо всему, что может меня просветить!

Ответы [ 2 ]

0 голосов
/ 01 августа 2013

Обновили ли вы вообще файл манифеста? Иногда неправильное имя класса в качестве начального действия может привести к тому, что приложение вообще не запустится.

 <activity
        android:name=".login"
        android:label="@string/title_activity_main"
        >

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

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

0 голосов
/ 17 июля 2010
java.lang.ClassCastException: android.widget.LinearLayout

Этот тип ошибки обычно возникает, когда вы пытаетесь получить объект представления из вашего класса активности, и вы его неверно разыгрываете.

Не видя код ваших классов активности, я могу только догадываться, но вы можете иметьчто-то вроде этого:

FrameLayout myLayout = (FrameLayout)findViewById(R.id.distractions_layout);

Поскольку distractions_layout является LinearLayout , а не FrameLayout , вы получите эту ошибку.Правильный способ сделать это будет так:

Linearlayout myLayout = (LinearLayout)findViewById(R.id.distractions_layout);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...