使用自定义类时在view中抛出空指针错误
发布时间:2010-05-30 10:48:20 文章来源:www.iduyao.cn 采编人员:星星草
使用自定义类时在view中抛出空指针异常
我想在屏幕上倒计时三秒,然后随机显示一堆数字,大小和位置都是随机的。代码如下:
[code=Java][/code]
package com.passion;
import java.util.ArrayList;
import java.util.Random;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AbsoluteLayout;
import android.widget.TextView;
public class GameActivity extends Activity {
private MyCount mc = null;
private TextView tv = null;
private NewView view = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.game);
Intent intent = getIntent();
view = new NewView(this);
//设置背景
Resources res = getResources();
Drawable drawable = res.getDrawable(R.drawable.bac);
this.getWindow().setBackgroundDrawable(drawable);
//设置字体
Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/LithosPro-Bold.ttf");
tv = (TextView)findViewById(R.id.show);
tv.setTypeface(typeface);
tv.setTextColor(Color.BLACK);
//倒计时5s,每次间隔1s
mc = new MyCount(5000, 1000);
mc.start();
}
/*定义一个倒计时的内部类*/
class MyCount extends CountDownTimer {
public MyCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
//倒计时结束之后做的事
@Override
public void onFinish() {
tv.setVisibility(View.INVISIBLE);
setContentView(view);
}
//倒计时的时候
@Override
public void onTick(long millisUntilFinished) {
tv.setText("请等待(" + millisUntilFinished / 1000 + ")...");
}
}
}
/*定义一个显示数字的类*/
class NewView extends AbsoluteLayout implements OnClickListener{
private int count = 5;
private int range = 10;
private TextView[] text = new TextView[count];
private int[] numbers = null;
private DisplayMetrics dm;
private int width;
private int height;
private Location[] location = null;
public NewView(Context context) {
super(context);
// TODO Auto-generated constructor stub
//获取屏幕的尺寸,以像素为单位
dm = getResources().getDisplayMetrics();
width = dm.widthPixels;
height = dm.heightPixels;
//设置字体
Typeface typeface = Typeface.createFromAsset(context.getAssets(), "fonts/LithosPro-Bold.ttf");
//设置随机数
numbers = randRange(count,range);
//设置坐标
location = new Location[count];
Log.i("mes","haha");
location = randLocation(count,width-50,height-50);
Log.i("mes","heihei");
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
Android版块严惩倒分行为,希望大家配合维持正当的技术交流 - 移动平台 / 非技术区
近期发现Android版块一些帐号在进行倒专家分操...
-
Java应用程序调用系统中任意一个so文件的方法 大家看看是否可行?
如果我想编写一个apk程序,而这个apk程序要调用系统中的非JNI的so...
-
关于ListView中CheckBox 用程序全选的问题
LisetView中view布局
XML code
<?xml version="1.0" encoding="UTF-8"?>
<RelativeLay...
-
请教一个关于广播接收器优先级的问题,为什么我无论如何都不能超越QQ,360,GO等手机助手,管家?
android官方好像说最高1000,我试过...
-
Android 布局framelayout到底怎么用
简单demo就不要说了哈,知道framelayout的简单实例,感觉没有收获,看了源码,也没有什么感觉。我想...
-
如果调用系统剪裁功能
首先调用系统图库,获取图片,然后对该图片进行剪裁,大家帮忙看下我的代码哪里有问题
Java code
Uri uri = data...
-
求4.0的framework.jar包
如题。哪位朋友有编好的4.0的framework.jar,给个下载地址,或发我邮箱heixue888@qq.com
3Q~
------解决方案...
-
关于读取手机通讯录的问题
使用Android1.5的读取方法:
Cursor cur = context.getContentResolver().query(Contacts.Peop...
-
请教如何用android画图
我想利用android写一个画图程序,请问我应该重点看android的哪些部分,请大家给点建议,还有大家是否有相关的工...
-
分享HTC手机Android源代码下载地址
http://developer.htc.com/
------解决方案--------------------
不错,可惜只有kernel的~~...