`
zhengdl126
  • 浏览: 2543266 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

View的setOnClickListener的添加方法

 
阅读更多

1)第一种,也是最长见的添加方法(一下都以Button为例)

 

 Button btn = (Button) findViewById(R.id.myButton);
btn .setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//do something
}
});



2)第二种,下面这个方法较前一种稍微简单了一些,允许多个Buttons共享一个Listener。通过Switch控制对不同Button Click事件的响应方法:

复制代码
 Button btn = (Button) findViewById(R.id.mybutton);
Button btn2 = (Button) findViewById(R.id.mybutton2);
btn.setOnClickListener(handler);
btn2.setOnClickListener(handler);
View.OnClickListener handler = View.OnClickListener() {
public void onClick(View v) {
switch (v.getId()) {
case R.id.mybutton:
//do something
break;
case R.id.mybutton2:
//do something
break;
}
}
复制代码




3)第三种,直接将Clicklistener捆绑XML layout中的Views元素,在程序中定义的Listener方法需要带有一个View类型的参数:

复制代码
 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:id="@+id/text"
android:text="@string/hello"/>
<Button android:id="@+id/mybutton" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:onClick="mybuttonlistener"></Button>
</LinearLayout>
复制代码

java代码:

 Button btn = (Button) findViewById(R.id.mybutton);

public void mybuttonlistener(View target){
//do something
}
分享到:
评论

相关推荐

    动态添加View和事件监听

    1. 匿名内部类:这是传统的方法,如`button.setOnClickListener(new View.OnClickListener() { ... })`。在大括号内编写点击事件的处理逻辑。 2. Lambda表达式:从Java 8开始,可以使用更简洁的Lambda语法,如`...

    ViewPager 动态添加 View

    addButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { MyFragment newFragment = new MyFragment(); adapter.addFragment(newFragment); } }); ``` 在这个...

    horizaotalScrollview动态添加子view,设置点击事件

    接下来,我们需要在Activity或Fragment的onCreate()方法中获取到HorizontalScrollView和LinearLayout的引用,并准备要添加的子View。例如,这里可能是ImageView,用于显示本地图片或网络图片: ```java ...

    android为ListView每个Item上面的按钮添加事件

    另一种为ListView Item按钮添加事件的方法是使用静态内部类,通过弱引用来保存对外部类的引用,以避免内存泄漏。然而,这个例子使用的是直接在`getView()`方法中创建匿名内部类的方式,这也是常见的做法。 总结起来...

    一个简单的注解实现 findViewById 和 setOnClickListener 的例子

    在Android开发中,findViewById和setOnClickListener是两个非常常见的操作。它们分别用于查找布局文件中的视图控件和为这些控件设置点击监听器。然而,传统的做法往往需要编写大量的重复代码,降低了开发效率。为了...

    实现一个view的监听的四种方法

    // 添加 onClick 方法 @Override public void onClick(View v) { Log.v("click..", "textview"); } } ``` 在这个例子中,`EventListen1`类实现了`OnClickListener`接口,因此必须提供`onClick`方法的实现。在`...

    Android中为View添加事件监听的使用说明(以Button为例).pdf

    这种方法允许在布局文件中直接为View设置点击事件处理方法,只需要在Button标签内添加`android:onClick="mybuttonlistener"`,然后在对应的Activity或Fragment中定义一个与之匹配的方法。注意,该方法需要接受一个`...

    自定义View基础

    此外,还可以使用`setOnClickListener()`等方法添加点击事件监听器。 6. **性能优化**:自定义View时要考虑性能,避免在onDraw()中执行耗时操作,使用硬件加速,合理使用View的复用机制,以及避免过度绘制等。 7. ...

    android demo,自定义控件view,点击该自定义view,onclick随机生成数字

    - 在自定义View类中设置监听器,如`setOnClickListener(this)`,确保`this`指向实现了`OnClickListener`接口的当前对象。 - 或者,使用匿名内部类创建监听器,如`setOnClickListener(new OnClickListener() {...})...

    动态添加view

    最后,使用父容器的`addView()`方法将View添加到布局中: ```java LinearLayout parentLayout = findViewById(R.id.parent_layout); parentLayout.addView(textView, layoutParams); ``` 5. **适配器和...

    自定义组合View

    这通常涉及对子View的添加、布局管理以及事件处理的协调。 **回调的用法** 回调在自定义View中主要用于处理用户交互和数据更新。例如,当用户点击自定义View时,我们可以注册一个OnClickListener,并在点击事件发生...

    Android 中级应用 一 点击按钮动态增加view

    addButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 创建新View View newView = inflater.inflate(R.layout.button_layout, container, false); // 如果...

    Android 全局悬浮View实现,以及悬浮view点击事件

    fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 处理点击事件 } }); } @Override protected void onResume() { super.onResume(); // 显示悬浮按钮 ...

    Android View添加 Listener 实例代码

     采用上述方法添加Listener有个缺点就是如果控件太多的话,Listener数量也会增多,因此,可以采用如下的小窍门减少Listener的数量: 代码如下:View.OnClickListener handler = View.OnClickListener() { 

    android view

    myButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 执行点击事件的操作 } }); ``` 5. **属性动画** 自Android 3.0起,引入了属性动画API,允许开发者...

    视图中添加按钮

    然后通过`addTarget(_:action:for:)`方法为按钮添加了一个点击事件的监听器,指定当按钮被按下时调用`buttonTapped`方法。最后,我们将按钮添加到当前视图的子视图中。 在Android开发中,我们通常使用Java或Kotlin...

    自定义View和自定义Button

    4. **测量与布局**:自定义View还需要处理测量和布局过程,重写`onMeasure()`方法,以确定View的大小。 ```java @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { ...

    android 自定义View 两种方式

    完成自定义View类后,在Activity的`onCreate()`方法中实例化这个类,并将其添加到布局中,例如: ```java CustomView customView = new CustomView(this); LinearLayout.LayoutParams layoutParams = new ...

    Android自定义头部view

    然后,在Activity或Fragment中,可以调用自定义View的`setOnClickListener()`方法来注册监听器。 6. **动画效果**:为了增强用户体验,我们还可以添加动画效果,比如渐变显示、平移动画等。Android提供了丰富的动画...

    鸿蒙应用开发view-binding插件,消除findComponentById模版代码

    binding.button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "Button clicked", Toast.LENGTH_SHORT).show(); } }); ``` ...

Global site tag (gtag.js) - Google Analytics