大神求救Android、setOnClickListener侦听总提示错误

MRjozin 2014-08-06 05:35:23
package com.example.test;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;




public class MainActivity extends ActionBarActivity {


private EditText edtMile;
private TextView txtKM;
private Button btnTran;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//取界面组建
edtMile=(EditText)findViewById(R.id.edtMile);
txtKM=(TextView)findViewById(R.id.txtKm);
btnTran=(Button)findViewById(R.id.BtnTran);
//事件监听,定义方法

btnTran.setOnClickListener(btnTran1);
public Button.OnClickListener btnTran1=new Button.OnClickListener()

{
@Override
public void onClick(View v) {
//TODO Auto-generated method stub
int miles=Integer.parseInt(edtMile.getText().toString());
double km=1.61*(double)miles;
txtKM.setText("时速"+km+"公里");
}
};
}

红色的地方总是显示错误
第一个btnTran1

错误 显示是btnTran1 cannot be resolved to a variable

第二个地方错误显示

此行的多个标记
- 参数 btnTran1 的修饰符不合法;只允许使
用终态
- 参数 calcBMI 的修饰符不合法;只允许使
用终态


本人大学新手一枚 第一次接触Android编程 很多地方不懂,也是看着书尝试,可是书上很多地方都是错的
进过百度后自行改过了,但这个两个问题一直解决不了,希望大神可以帮忙解决,并且详细简单点。
...全文
290 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灯光环 2014-08-08
  • 打赏
  • 举报
回复
定义成内部类: class MyOnclickListener implements OnClickListener{ .... } btnTran.setOnClickListener(new MyOnClickListener()); 这样就好了。
MRjozin 2014-08-08
  • 打赏
  • 举报
回复
引用 2 楼 tanwei4199 的回复:
Button有OnClickListener这个类吗 这是哪个版本的sdk提供的
你换成View.OnClickListener试试


我试了 还是不行
MRjozin 2014-08-08
  • 打赏
  • 举报
回复 1
引用 3 楼 csdn_02 的回复:
你这方法写的真奇葩 , 你这个有点像匿名内部类,又有点像监听一个方法,两个混合用了。
我刚接触 很多不懂 自己在摸索
小灯光环 2014-08-08
  • 打赏
  • 举报
回复
引用 8 楼 MR [quote=引用 8 楼 MRjozin 的回复:
[quote=引用 6 楼 wlwlwlwl015 的回复:] 定义成内部类: class MyOnclickListener implements OnClickListener{ .... } btnTran.setOnClickListener(new MyOnClickListener()); 这样就好了。
谢谢大神啊 按照大神的方法加上把那个MyOnclickListener的c改成大写就成功了 书上的东西太死板,老是出错,回去我会好好继续研究Android为世界做出贡献的 [/quote] 小伙加油 看好你~
MRjozin 2014-08-08
  • 打赏
  • 举报
回复
引用 6 楼 wlwlwlwl015 的回复:
定义成内部类:
class MyOnclickListener implements OnClickListener{
....
}

btnTran.setOnClickListener(new MyOnClickListener());

这样就好了。


谢谢大神啊 按照大神的方法加上把那个MyOnclickListener的c改成大写就成功了 书上的东西太死板,老是出错,回去我会好好继续研究Android为世界做出贡献的


  • 打赏
  • 举报
回复
把你定义btnTran1的那段,移到oncreate方法的外面
csdn_02 2014-08-06
  • 打赏
  • 举报
回复
你这方法写的真奇葩 , 你这个有点像匿名内部类,又有点像监听一个方法,两个混合用了。
荒颜 2014-08-06
  • 打赏
  • 举报
回复
Button有OnClickListener这个类吗 这是哪个版本的sdk提供的 你换成View.OnClickListener试试
箍心而行 2014-08-06
  • 打赏
  • 举报
回复
建议你把错误log贴出来

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧