我编写完一个android程序,在编译时出现ava.lang.NullPointerException错误,是怎么回事?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我编写完一个android程序,在编译时出现ava.lang.NullPointerException错误,是怎么回事?相关的知识,希望对你有一定的参考价值。

完整的信息是:
Errors occurred during the build.
Errors running builder 'android Pre Compiler' on project 'ImageView'.
java.lang.NullPointerException

还有一个错误是:

[2013-05-26 09:53:50 - ImageView] Unknown error: Unable to build: the file dx.jar was not loaded from the SDK folder!

参考技术A NullPointerException是空指针异常。
例如下面的代码:
String str = "这是一个测试用的字符串!";
System.out.println(str.length());
这段代码没有问题,但是如果改成下面的代码:
String str ;
System.out.println(str.length());
就会产生NullPointerException异常了追问

我写的程序很简单,没有用到String对象,

追答

我只是举例啊,你吧完整的错误提示信息贴出来看看

参考技术B 就是代码中有某个对象仅做了声明,但没有实例化造成的错误 参考技术C 你的imageView没有申明吧

无法建立:从SDK文件夹没有被加载的文件dx.jar!本回答被提问者采纳

尝试在 android studio 中安装按钮时出现编译器错误

【中文标题】尝试在 android studio 中安装按钮时出现编译器错误【英文标题】:Compiler Errors when trying to install a button in android studio 【发布时间】:2015-06-08 16:32:13 【问题描述】:

我是 android studio 新手,刚刚开始开发我的第一个应用程序, 我之前设法编译了应用程序,但刚刚尝试将代码添加到按钮以更改活动,我环顾四周,无法弄清楚原因,但是当我尝试运行但无法弄清楚时出现 8 个编译错误为什么!

这是我的代码:

 <Button
        android:layout_
        android:layout_
        android:text="Login"
        android:id="@+id/btnEnter"
        android:layout_gravity="center_horizontal"
        android:layout_weight="0.40"
        android:textSize="50dp"
        android:onClick="onClick"/>

        android:name=".LoginActivity"
        android:label="@string/title_activity_login"
        android:windowSoftInputMode="adjustResize|stateHidden" >
    </activity>

这是引发编译器错误的代码:

公共类 MainActivity 扩展 ActionBarActivity public final static String EXTRA_MESSAGE = "com.example.ben.learning.MESSAGE";

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



@Override
public boolean onCreateOptionsMenu(Menu menu) 
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;


@Override
public boolean onOptionsItemSelected(MenuItem item) 
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) 
        return true;
    

    return super.onOptionsItemSelected(item);

按钮 btn = (Button)findViewById(R.id.btnEnter); btn.btnEnter.setOnClickListener(new View.OnClickListener()




    public void onClick (View view)
    Intent intent = new Intent
            (MainActivity.this, LoginActivity.class);
    MainActivity.this.startActivity(intent);


    );

...以及错误:

错误:(60, 36) 错误:预期 错误:(60, 37) 错误:类型的非法开始 错误:(60, 40) 错误: ')' 预期 错误:(60, 45) 错误:';'预期的 错误:(60, 46) 错误:方法声明无效;需要返回类型 错误:(64, 9) 错误:表达式的非法开始 错误:(64, 16) 错误:表达式的非法开始 错误:(64, 35) 错误:';'预期的 错误:(70, 6) 错误:类型的非法开始

任何见解都会很棒,我只是想弄清楚这一点!

干杯。 :)

【问题讨论】:

你能把这段代码所在的课程贴出来 我已对帖子进行了编辑以包含所有代码。 看起来您是在任何方法之外定义此按钮。 现在解决了,谢谢! 【参考方案1】:

我把按钮代码的位置改成onCreate方法解决了错误。

    protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button btn = (Button) findViewById(R.id.btnEnter);
    btn.setOnClickListener(new View.OnClickListener() 
        @Override


        public void onClick(View view) 
            Intent intent = new Intent
                    (MainActivity.this, LoginActivity.class);
            MainActivity.this.startActivity(intent);
        
    );

【讨论】:

以上是关于我编写完一个android程序,在编译时出现ava.lang.NullPointerException错误,是怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章

尝试在 android studio 中安装按钮时出现编译器错误

编译 xamarin-android 应用程序时出现 java.exe 错误

可空接收器类型捆绑的不安全使用? android 应用程序将在编译时出现警告但立即崩溃

编写spring boot程序时出现异常

Kivy Android Sqlite3使应用程序崩溃时出现“没有这样的模块”错误

keil5中编写代码时出现语法错误为什么无显示