安卓学习笔记|Attempt to invoke virtual method...on a null object reference

加载Android布局文件时出现错误:
java.lang.NullPointerException: Attempt to invoke virtual method '........' on a null object reference

 

打了断点发现是setContentView的问题,在网上找了好久也发现大家都是空间问题,于是回去看layout里面,标签大小写、id大小写命名格式都没问题

 

于是手动debug,把空间逐个删除尝试,发现是字体颜色问题:

删掉就可以了,不知道为什么这里设置字体颜色以后会报空对象。

至于要设置字体颜色的话:

法一:

TextView tv = new TextView(this);

tv.setText("你好");

setContentView(tv);

该方法自己没有实现成功,无法得到想要设置的颜色和字体大小。

法二:

/**

* testview是View的子类

* findViewById返回的是VIEW对象

* */

TextView tv = (TextView)findViewById(R.id.tv);

tv.setText(Html.fromHtml("我勒个去啊"));

main.xml配置文件:

android:id="@+id/tv"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:textSize="50sp"

android:textColor="#00ffff"

android:text="你好,世界"

/>

法三:

TextView tv = (TextView)findViewById(R.id.tv);

String str = "我勒个去";

//创建一个style对象

SpannableStringBuilder style = new SpannableStringBuilder(str);

style.setSpan(new ForegroundColorSpan(Color.WHITE), 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

style.setSpan(new ForegroundColorSpan(Color.BLUE), 1, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

style.setSpan(new ForegroundColorSpan(Color.RED), 3, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

tv.setText(style);

main.xml配置文件:

android:id="@+id/tv"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:textSize="50sp"

android:textColor="#00ffff"

android:text="你好,世界"

/>

version="1.0"

encoding="utf-8"?>

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:text="Hello, Android"/>

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部