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