永发信息网

android问题,代码如下 为什么在 myButton.setOnClickListener(new mylistener());这句的mylistener出错?

答案:4  悬赏:50  手机版
解决时间 2021-03-07 17:53
  • 提问者网友:嗝是迷路的屁
  • 2021-03-06 19:53
package com.test;

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;

public class Main extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button myButton=(Button)findViewById(R.id.myButton);
myButton.setOnClickListener(new mylistener());
class mylistener implements OnClickListener{
public void onClick(View v){
Intent intent= new Intent();
intent.setClass(Main.this, Main2.class);
startActivity(intent);
}
}这是为什么?

}
}
最佳答案
  • 五星知识达人网友:西岸风
  • 2021-03-06 21:09
你应该先声明,然后在调用
也就是你把
class mylistener implements OnClickListener{
public void onClick(View v){
Intent intent= new Intent();
intent.setClass(Main.this, Main2.class);
startActivity(intent);
}
}

myButton.setOnClickListener(new mylistener());
就应该ok了
全部回答
  • 1楼网友:杯酒困英雄
  • 2021-03-06 23:24
虽然觉得怪怪的,不过好像没什么错误的地方. 报的错误信息是什么呢?
  • 2楼网友:骨子里都是戏
  • 2021-03-06 22:36
原抄你的,稍改一下编译应该能通过了: final int i; final button[] button = new button[9]; for(i=0;i<=9;i++) { final int k=i;//... button[k].addactionlistener(new actionlistener(){ public void actionperformde(actionevent e){ button[k].setvisible(false); } }); }
  • 3楼网友:毛毛
  • 2021-03-06 21:19
貌似你的class写到方法里了吧。 这么写就可以了: myButton.setOnClickListener(new OnClickListener{ public void onClick(View v){ Intent intent= new Intent(); intent.setClass(Main.this, Main2.class); startActivity(intent); } });
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯