2

我今天早上一直在 Eclipse 中设置Android SDK和设置,我ADT Plugin在构建 android 应用程序时的前几个测试运行良好。

但是现在我开始每次点击某些内容时都会弹出一个窗口AN ERROR HAS OCCURED - JAVA.NULLPOINTER.EXCEPTION

我了解 Java 中的空指针异常是在创建某些内容但我什至没有输入任何代码但它只是当您单击新项目时由应用程序创建向导创建的标准 mainactivity 类。

当我运行该程序时,问题就开始了,它似乎有问题Activity_mainlayout.out.xml或任何问题。

任何人都知道为什么会发生这种情况,而且我还没有开始编写我的应用程序。

一些细节:Eclipse 使用 Android ADT 插件和带有 Android 虚拟设备的 Android SDK 进行测试。

多谢你们。

Ps 我在 Windows 资源管理器和 Eclipse 中删除了该项目,因此完全摆脱了它,现在任何新项目都会产生相同的弹出错误。


这是 MainActivity 的代码

package wag.cymal.libraryportal.welshlibraries;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.LinearLayout;
import android.graphics.*;
import android.graphics.drawable.Drawable;

@SuppressWarnings("unused")
public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    LinearLayout ll = new LinearLayout(this);
    ll.setBackgroundResource(R.drawable.natlib); // background image
    this.setContentView(ll);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

}

以及 activity_main XML 文件:

<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" >

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:padding="@dimen/padding_medium"
    android:text="@string/hello_world"
    tools:context=".MainActivity" />

有任何想法吗?:/

4

1 回答 1

0

当您在 xml 文件中尝试运行应用程序时,会创建“sctivity_mainlayout.out.xml”。据我了解,编译器尝试编译 xml 文件,这会生成 .out.xml 文件,该文件不是有效的 xml,这会导致错误。

解决方案:删除 .out.xml 文件,并且始终在运行时注意编辑器的焦点在 java 文件中(或没有)...

现在,如果由于某种原因您的 Eclipse 被搞砸了,请尝试使用选项 --clean 运行它(使用命令行,或者在 Windows 的情况下,也可以使用“执行”选项 ->“ c:\mypathtoeclipse\eclipse.exe --clean”)。这使得 eclipse 本身被重建。就我而言,它已经修复了几次我在工作区加载期间遇到的一些无法解释的意外异常。

于 2012-07-18T13:45:46.000 回答