写了一个Android小程序,在Eclipse编译通过了。但是不能在虚拟机上运行。

虚拟机没有问题,因为别的程序还是可以再上面跑的。可是eclipse也没有报错,检查了好遍了。哪位帮我看看代码有没有问题。publicclassSimpleTextActi... 虚拟机没有问题,因为别的程序还是可以再上面跑的。可是eclipse也没有报错,检查了好遍了。哪位帮我看看代码有没有问题。
public class SimpleTextActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findView();
setListener();

}

double sum = 0;
private EditText ed1;
private EditText ed2;
private TextView tv1;
private Button b1;

public void findView() {

ed1 = (EditText) findViewById(R.id.edit1);
ed2 = (EditText) findViewById(R.id.edit2);
tv1 = (TextView) findViewById(R.id.text3);
b1 = (Button) findViewById(R.id.button);
}

public void setListener() {
b1.setOnClickListener((android.view.View.OnClickListener) calcB);
}

OnClickListener calcB = new OnClickListener() {

public void onClick(DialogInterface dialog, int which) {
double e1 = Double.parseDouble(ed1.getText().toString());
double e2 = Double.parseDouble(ed2.getText().toString());
sum = e1 * e2;
if (sum > 26) {
tv1.setText("@string/jianyi1");

} else if (sum < 20) {
tv1.setText("@string/jianyi3");

} else {
tv1.setText("@string/jianyi2");
}

}

};

}
展开
 我来答
lp8800
2011-08-19 · TA获得超过703个赞
知道小有建树答主
回答量:528
采纳率:0%
帮助的人:321万
展开全部

setText()里面还可以这样写,我还是头次看到不过没有错误,这样做很好值得表扬。另外你的模块化写的不错。

其实你错的地方对于初学者来说很难找到,但是也很容易找到,因为特征很明显。

看看这张截图,能不能发现和你的代码什么不同?

对public void onClick(DialogInterface dialog, int which)和public void onClick(View v)这方法头不一样。android里面有两个OnClickListener,一个是View包下的,另一个是DialogInterface 包下的。而我们初学android在实现监听器的时候,我们要实现View包下面的OnClickListener,而不是DialogInterface 下的。所以在使用自动完成提示的时候你仔细要看清楚是哪个包下的。

你的这个程序的修改方法就是,把import块里的OnClickListener引用删除,此时Eclipse里面会提示你OnClickListener有错误,鼠标指向OnClickListener calcB = new OnClickListener() ,import一下View包下的OnClickListener,然会会提示你还有未实现的抽象方法,这时,你就要把public void onClick(DialogInterface dialog, int which)替换为public void onClick(View v),这才可以。

浙江启扬智能科技有限公司
2023-06-12 广告
Android和ARM、Linux之间存在密切的联系。Android是一种基于Linux内核的嵌入式智能操作系统,它采用了ARM处理器作为其主要处理器架构。Android的内核和许多应用程序都是基于ARM架构编写的,包括处理器和内存管理器。... 点击进入详情页
本回答由浙江启扬智能科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式