如何在android studio里设置点击监听事件

我想在mainactivity里设置两个button,一个是boss,一个是deliveryMan,点击分别出现两个相应的界面。结果是出现了这个界面点击没有反应。这是为何... 我想在main activity里设置两个button,一个是boss,一个是deliveryMan,点击分别出现两个相应的界面。结果是出现了这个界面

点击没有反应。这是为何,求大神指教。以下是我的代码。carlist是管理员的,waybill是快递员的

public void onClick(View V){ switch(V.getId()){ case R.id.boss: startActivity(new Intent(MainActivity.this,CarList.class)); break; case R.id.deliveryMan: startActivity(new Intent(MainActivity.this,Waybill.class)); break; }}
展开
 我来答
新鲜の鱼313233b
推荐于2019-08-26 · TA获得超过2451个赞
知道答主
回答量:77
采纳率:0%
帮助的人:8万
展开全部

Android studio 添加点击监听事件有三种方法:

一.匿名内部类

1.先找到那个控件(初始化)

private Button bt1;  //onCreate方法外

bt1 = (Button)findViewById(R.id.button1);

2.设置事件监听器

bt1.setOnClickListener(new OnClickListener(){

public void onClick(View v){

System.out.println("我的按钮被点击了");

}

});

二.外部类监听点击事件

1.先找到那个控件(初始化)

private Button bt2;  //onCreate方法外

bt2 = (Button)findViewById(R.id.button2);

2.设置事件监听器

bt2.setOnClickListener(new MyOnClickListener(){

public void onClick(View v){

super.onClick(v);   //执行父类的onClick

System.out.println("我的按钮被点击了");  //执行子类的onClick

}

});

3.在另一个类中写父类的onClick方法

class MyOnClickListener implements OnClickListener{

public void onClick(View v){

v.setAlpha(0.5);  //设置透明的0.5

}

}

//OnClickListener是一个接口

4.点击按钮后会执行服父类的onClick方法和子类的onClick方法,可以让多个按钮都执行相同的父类onClick方法

三.通过实现一个接口的方式实现监听事件

1.先找到那个控件(初始化)

private Button bt3;  //onCreate方法外

bt3 = (Button)findViewById(R.id.button3);

2.设置事件监听器

bt3.setOnClickListener(this);

3.让MainActivity.java类实现一个接口

public class MainActivity extends Activity implements OnClickListener{ 

}

4.在onCreate方法外实现这个接口的要求实现的方法

public void onClick(View v){

System.out.println("第三种方法实现");  

}

扩展资料:

如果按钮绑了监听器

按钮点击是通过OnClickListener来实现的

大致的流程应该是这样的

public class MainActivity extends Activity

{

private Button loginButton;

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//创建监听器对象

loginButton = (Button) findViewById(R.id.login_btn);

OnClickListener listener = new ButtonClickListener();

loginButton.setOnClickListener(listener);

}

/**
* 监听器类

*/

class ButtonClickListener implements OnClickListener

{

@Override

public void onClick(View v)

{

switch (v.getId())

{

case R.id.login_btn:

//点击后的逻辑处理

break;

}

}

}

启帆信息
2024-11-22 广告
作为启帆信息科技股份有限公司的工作人员,对于Omniverse View有一定了解。Omniverse View是NVIDIA Omniverse平台中的一个强大工具,它易于导航且功能丰富,可以支持任何技能水平的专业人员展示和审查3D设计项... 点击进入详情页
本回答由启帆信息提供
碧血玉叶花
2015-05-25 · TA获得超过4976个赞
知道大有可为答主
回答量:6154
采纳率:0%
帮助的人:1678万
展开全部

先在布局文件中添加一个Button,然后再在java代码中获取这个按钮,设置它的监听事件就可以了。

.xml:
<Button android:"@+id/button1"......>
.java:
Button btn = (Button) findViewById(R.id.button1);
btn .setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//你要执行的代码
}
});


这是一种方法

追问

我的xml里是这样的、但是java里这样写一片错啊。我前面是这样写的public class MainActivity extends FragmentActivity{

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lionheart1988
2015-05-25 · TA获得超过6445个赞
知道大有可为答主
回答量:5772
采纳率:72%
帮助的人:2434万
展开全部
你给按钮绑了监听器没?
按钮点击是通过OnClickListener来实现的
大致的流程应该是这样的
public class MainActivity extends Activity
{
private Button loginButton;

protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//创建监听器对象
loginButton = (Button) findViewById(R.id.login_btn);
OnClickListener listener = new ButtonClickListener();
loginButton.setOnClickListener(listener);
}

/**
* 监听器类
*/
class ButtonClickListener implements OnClickListener
{
@Override
public void onClick(View v)
{
switch (v.getId())
{
case R.id.login_btn:
//点击后的逻辑处理
break;
}
}
}
...........
追问

谢谢你写了这么多,可是我又出现了一个奇怪的现象。。。我点击快递员可以进入下一页,可是点击管理员不行了,没法弹出来下一页。。。为什么啊。就是点击代码中的boss不行,deliveryMan可以。。。我刚才试了一下,删掉这句loginButton = (Button) findViewById(R.id.deliveryMan);管理员按键又有用了。。那么我两个按钮,应该怎么解决这个问题呢?

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sp70358
2015-05-25 · TA获得超过138个赞
知道小有建树答主
回答量:206
采纳率:0%
帮助的人:110万
展开全部
布局文件里面怎么写的? 点击事件的方法名应该是 android:onClick="btnClick" btnClick
追问
其中一个按钮是这样的:

你写的这个方法名后面还有btn Click是什么呀?
追答
就是你在XML文件的Button里面写上android:onClick="btnClick"
属性
在Activity类里面写一个方法 public void btnClick(View view){
switch(view.getId()){
case R.id.boss:
"这里写对应的逻辑"

break;

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
08物理
推荐于2017-09-27 · 知道合伙人软件行家
08物理
知道合伙人软件行家
采纳数:1141 获赞数:4137
1、国内上市公司资深运维工程师、产品经理 2、百度芝麻将,认证管理员

向TA提问 私信TA
展开全部
android监听事件添加动作的三种方式:
第一种也是最开始就接触的方式,通常在activity组件的oncreate事件中直接定义,直接动作。这种方式每个控件都定义一次,通常不方便.
Button btn = (Button) findViewById(R.id.myButton);

btn .setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

//do something

}

});
第二种通常是在activity组件实现其接口,这样可以多外控件共享一个接口,这样相对方便
public class TestMedia extends Activity implements View.OnClickListener{

Button btn1 = (Button) findViewById(R.id.myButton1);
Button btn2 = (Button) findViewById(R.id.myButton2);

btn1 .setOnClickListener();
btn2 .setOnClickListener();

}

public void onClick(View v) {

switch (v.getId()) {

case R.id. myButton1:

//do something

break;

case R.id. myButton2:

//do something

break;

}

第三种类似第二种,这样的好处在于如果需要实现多个监听接口,这样更清晰

public class TestMedia extends Activity {

Button btn1 = (Button) findViewById(R.id.myButton1);
Button btn2 = (Button) findViewById(R.id.myButton2);

btn1 .setOnClickListener(new ClickEvent());

btn2 .setOnClickListener(new ClickEvent());

}
class ClickEvent implements View.OnClickListener

public void onClick(View v) {

switch (v.getId()) {

case R.id. myButton1:

//do something

break;

case R.id. myButton2:

//do something

break;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式