android运行时nullpointerexception异常
编译没有问题,在运行时,点击按钮,就弹出错误调试信息显示ViewRoot.handle.Message找不到源。程序是计算两个数的和,从一个activity跳转到另一个a...
编译没有问题,在运行时,点击按钮,就弹出错误调试信息显示ViewRoot.handle.Message找不到源。程序是计算两个数的和,从一个activity跳转到另一个activity,代码如下:
package com.android02;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class Android02Activity extends Activity {
/** Called when the activity is first created. */
TextView text1 = null;
TextView text2 = null;
EditText ed1 = null;
EditText ed2 = null;
Button button = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
text1 = (TextView)findViewById(R.id.t1);
text2 = (TextView)findViewById(R.id.t2);
button = (Button)findViewById(R.id.button);
button.setOnClickListener(new buttonlistener());
}
class buttonlistener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String s1 = ed1.getText().toString();
String s2 = ed2.getText().toString();
Intent intent = new Intent();
intent.putExtra("one", s1);
intent.putExtra("two", s2);
intent.setClass(Android02Activity.this, Result.class);
Android02Activity.this.startActivity(intent);
}
}
}
第二个activity:
package com.android02;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class Result extends Activity{
TextView text = null;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
text = (TextView)findViewById(R.id.res);
Intent intent = getIntent();
String s1 = intent.getStringExtra("one");
String s2 = intent.getStringExtra("two");
int i1 = Integer.parseInt(s1);
int i2 = Integer.parseInt(s2);
text.setText((i1+i2) + "");
}
} 展开
package com.android02;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class Android02Activity extends Activity {
/** Called when the activity is first created. */
TextView text1 = null;
TextView text2 = null;
EditText ed1 = null;
EditText ed2 = null;
Button button = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
text1 = (TextView)findViewById(R.id.t1);
text2 = (TextView)findViewById(R.id.t2);
button = (Button)findViewById(R.id.button);
button.setOnClickListener(new buttonlistener());
}
class buttonlistener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String s1 = ed1.getText().toString();
String s2 = ed2.getText().toString();
Intent intent = new Intent();
intent.putExtra("one", s1);
intent.putExtra("two", s2);
intent.setClass(Android02Activity.this, Result.class);
Android02Activity.this.startActivity(intent);
}
}
}
第二个activity:
package com.android02;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class Result extends Activity{
TextView text = null;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
text = (TextView)findViewById(R.id.res);
Intent intent = getIntent();
String s1 = intent.getStringExtra("one");
String s2 = intent.getStringExtra("two");
int i1 = Integer.parseInt(s1);
int i2 = Integer.parseInt(s2);
text.setText((i1+i2) + "");
}
} 展开
5个回答
展开全部
public void onClick(View v) {
// TODO Auto-generated method stub
String s1 = ed1.getText().toString();
String s2 = ed2.getText().toString();
Intent intent = new Intent();
intent.putExtra("one", s1);
intent.putExtra("two", s2);
intent.setClass(Android02Activity.this, Result.class);
Android02Activity.this.startActivity(intent);
}
这段代码中的ed1 ed2两个对象应该是空的,lz没有在onCreate中对他们进行赋值
// TODO Auto-generated method stub
String s1 = ed1.getText().toString();
String s2 = ed2.getText().toString();
Intent intent = new Intent();
intent.putExtra("one", s1);
intent.putExtra("two", s2);
intent.setClass(Android02Activity.this, Result.class);
Android02Activity.this.startActivity(intent);
}
这段代码中的ed1 ed2两个对象应该是空的,lz没有在onCreate中对他们进行赋值
展开全部
首先对楼上说一句,Android02Activity.this.startActivity(intent), LZ 这样写是对的,因为是在class buttonlistener implements OnClickListener{...}这个类里面,你可能没看清楚哇。
空指针异常应该不难解决,lz在的话可以百度hi我
空指针异常应该不难解决,lz在的话可以百度hi我
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
……把整个程序发来我看看吧。fantasywall@126.com。会不会AndroidManifest.xml里没加activity的定义。
顺便说一句,Android02Activity.this.startActivity(intent);不用写这么长 startActivity(intent);就行了。
顺便说一句,Android02Activity.this.startActivity(intent);不用写这么长 startActivity(intent);就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
EditText ed1 = null;
EditText ed2 = null;没有给他们初始化 这个也需要 (EditText)findViewById(R.id.);初始化
EditText ed2 = null;没有给他们初始化 这个也需要 (EditText)findViewById(R.id.);初始化
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主你的配置文件添加了<activity>木有
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询