本人初学,望各位指教一下小弟,谢谢代码:
public class Huandaxing extends Activity { public static final int CHG_ID = Menu.FIRST;
public static final int EXIT_ID = Menu.FIRST + 1;

private String[] data = new String[1];
private String[] data2 = new String[1];
private int rand=0;
TextView tv,tv2,tv3,tv4;
LinearLayout layout1, layout2,layout3,layout4;
boolean selection = true;
DoModel dm;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
//设置多个屏幕
LayoutInflater inflate = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//屏幕1
layout1 = (LinearLayout) inflate.inflate(R.layout.main, null);
//文字显示
tv = (TextView) findViewById(R.id.tx);
//屏幕2

layout2 = (LinearLayout) inflate.inflate(R.layout.list, null);

//显示文本
ListView lv2=(ListView)layout2.findViewById(R.id.lay2);
tv2 = (TextView) layout2.findViewById(R.id.reqMess);
//屏幕3
layout3 = (LinearLayout) inflate.inflate(R.layout.layout3, null);
//显示文本
ListView lv3=(ListView)layout3.findViewById(R.id.lay3);
tv3 = (TextView) layout3.findViewById(R.id.showMess);
//屏幕4
layout4 = (LinearLayout) inflate.inflate(R.layout.layout4, null);
//显示文本
ListView lv4=(ListView)layout4.findViewById(R.id.lay4);
tv4 = (TextView) layout4.findViewById(R.id.showMessLay4);

//默认显示
setContentView(layout1);

//屏幕1
//tx.setBackgroundResource(R.drawable.icon);
tv.setTextColor(Color.WHITE);
//跳转按钮
Button bt=(Button)this.findViewById(R.id.bt);
bt.setBackgroundColor(Color.GREEN);
bt.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
//setContentView(layout2);
}
});

//屏幕2
//求签图片按钮
ImageButton ibt=(ImageButton)layout2.findViewById(R.id.ibt);
ibt.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
//启动处理业务逻辑类
dm=new DoModel();
//取出当前的随机数
rand=dm.getRandomNum();
//将取出的数据封装到数组中
data[0]=dm.getReqMess(rand);
//让屏幕3显示信息
tv3.setText(data[0]);
tv3.setBackgroundColor(Color.GRAY);
setContentView(layout3);
}
});

  //开始求签按钮
Button btstart=(Button)layout2.findViewById(R.id.reqStart);
btstart.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
//启动处理业务逻辑类
dm=new DoModel();
//取出当前的随机数
rand=dm.getRandomNum();
data[0]=dm.getReqMess(rand);
// tv2.setText(Integer.toString(rand));
//让屏幕3显示信息
tv3.setText(data[0]);
tv3.setBackgroundColor(Color.GRAY);
setContentView(layout3);
}
        });
//停止求签按钮
Button btstop=(Button)layout2.findViewById(R.id.reqStop);
btstop.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
data[0]=null;
dm=new DoModel();
rand=dm.getRandomNum();
data[0]=dm.getReqMess(rand);
//让屏幕3显示信息
tv3.setText(data[0]);
tv3.setBackgroundColor(Color.GRAY);
setContentView(layout3);
}
        });

//屏幕3
// ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
// android.R.layout.simple_list_item_1,data);
// lv3.setAdapter(adapter);

Button bt3res=(Button)layout3.findViewById(R.id.resMess);
        //马上解签按钮
bt3res.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
//启动处理业务逻辑类
dm=new DoModel();
data2[0]=dm.getResolutionMess(rand);
//屏幕4显示内容
tv4.setText(data2[0]);
tv4.setBackgroundColor(Color.GRAY);
setContentView(layout4);
}
        });

Button bt3returnLay2=(Button)layout3.findViewById(R.id.returnLay2);
        //返回
bt3returnLay2.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
setContentView(layout2);
}
        });

//屏幕4
// ArrayAdapter<String> adapter4 = new ArrayAdapter<String>(this,
// android.R.layout.simple_list_item_1, data2);
// lv4.setAdapter(adapter4);
//
//返回按钮
Button bt4return=(Button)layout4.findViewById(R.id.returnMess);
bt4return.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
setContentView(layout3);
}
        });
        
}
启动老是报异常,不能正常
logat日志信息情况:
01-07 11:45:27.660: WARN/dalvikvm(741): threadid=3: thread exiting with uncaught exception (group=0x40018e70)
01-07 11:45:27.660: ERROR/AndroidRuntime(741): Uncaught handler: thread main exiting due to uncaught exception
01-07 11:45:27.941: ERROR/AndroidRuntime(741): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.hdx/com.hdx.Huandaxing}: java.lang.NullPointerException
01-07 11:45:27.941: ERROR/AndroidRuntime(741):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)
01-07 11:45:27.941: ERROR/AndroidRuntime(741):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2286)
01-07 11:45:27.941: ERROR/AndroidRuntime(741):     at android.app.ActivityThread.access$1800(ActivityThread.java:114)
01-07 11:45:27.941: ERROR/AndroidRuntime(741):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1694)
01-07 11:45:27.941: ERROR/AndroidRuntime(741):     at android.os.Handler.dispatchMessage(Handler.java:99)
01-07 11:45:27.941: ERROR/AndroidRuntime(741):     at android.os.Looper.loop(Looper.java:123)
01-07 11:45:27.941: ERROR/AndroidRuntime(741):     at android.app.ActivityThread.main(ActivityThread.java:3972)
01-07 11:45:27.941: ERROR/AndroidRuntime(741):     at java.lang.reflect.Method.invokeNative(Native Method)
01-07 11:45:27.941: ERROR/AndroidRuntime(741):     at java.lang.reflect.Method.invoke(Method.java:521)
01-07 11:45:27.941: ERROR/AndroidRuntime(741):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
01-07 11:45:27.941: ERROR/AndroidRuntime(741):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:543)
01-07 11:45:27.941: ERROR/AndroidRuntime(741):     at dalvik.system.NativeStart.main(Native Method)
01-07 11:45:27.941: ERROR/AndroidRuntime(741): Caused by: java.lang.NullPointerException
01-07 11:45:27.941: ERROR/AndroidRuntime(741):     at com.hdx.Huandaxing.onCreate(Huandaxing.java:70)
01-07 11:45:27.941: ERROR/AndroidRuntime(741):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
01-07 11:45:27.941: ERROR/AndroidRuntime(741):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2233)
01-07 11:45:27.941: ERROR/AndroidRuntime(741):     ... 11 more