button-程序化添加按钮如何获得OnClick()方法?

问题描述

程序化添加按钮如何获得OnClick()方法?

我在程序中添加了一些buttons。

for (int i=0; i<XML.size(); i++) {
//添加按钮
ToggleButton b = new ToggleButton(this);
// 设置属性
lefttextv.setLayoutParams(lleft);
b.setLayoutParams(bright);
//自定义按钮
    b.setOnClickListener(this);
b.setId(id_button);
System.out.println(id_button);
b.setHeight(100);
b.setWidth(200);
// 添加RelativeLayout子类
layouth.addView(lefttextv);
layouth.addView(b);
    id_button++;
    }

从这些方法中如何获得OnClick() 方法?用下面的方法我实现了 View.OnClickListener。

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId())
    {
    case id_button: Log.d("Button 0","Button 0 pressed);
        break;
    }
}

还是不能获取OnClick()方法,怎么能获取ID呢?

解决方案

你使用for循环生成了xml.size()个button,setId(id_button);id_button++

switch (v.getId())
    {
    case **id_button**: Log.d("Button 0","Button 0 pressed);
        break;
    }

这部分代码的id_button应该是最后一个按钮的ID,你点击最后一个按钮应该会打印出信息吧

解决方案二:

貌似这是JAVA的,MFC里面倒还是晓得点,设置ID后还需要关联的,然后添加Onclick事件处理函数,这个JAVA不晓得是不是这样

解决方案三:

public void onClick(View v) {
    int id = v.getId();
    if (id < id_button) {
        Log.d("Button " + id, "Button "+id+ " pressed");
    }
}

解决方案四:

你已经设置了button的id,例如id_button是吧
添加onCreate方法:

b1.setOnClickListener(this);

在onClick方法中使用id

@Override
 public void onClick(View v) {
    // TODO Auto-generated method stub
    if(v.getId() == R.id.id_button)
    {
    Log.d("Button 0","Button 0 pressed);
        break;
    }
}
时间: 2024-08-30 01:03:16

button-程序化添加按钮如何获得OnClick()方法?的相关文章

button-以程序的方式从添加的按钮中获得OnClick()事件

问题描述 以程序的方式从添加的按钮中获得OnClick()事件 我用以下代码添加了一些按钮: for (int i=0; i<XML.size(); i++) { //添加按钮 ToggleButton b = new ToggleButton(this); // 参数设置 lefttextv.setLayoutParams(lleft); b.setLayoutParams(bright); //自定义按钮 b.setOnClickListener(this); b.setId(id_butt

android中添加按钮事件的方法

  解决方法: 1. 在res/layout中的activity_main.xml添加一个按钮,命名为button1. 2. 在MainActivity.java中添加按钮事件绑定: View btn1 = this.findViewById(R.id.button1); btn1.setOnClickListener(new ButtonClickListener()); 3. 重写ButtonClickListener函数: private class ButtonClickListener

android-在 viewpager 中如何创建 button onClick 方法

问题描述 在 viewpager 中如何创建 button onClick 方法 我想使用viewpager在按钮点击时Toast一个消息,也想了解更多关于如何访问viewpager中的视图的信息.用的以下的信息,没什么反应. public class MyPagerAdapter extends PagerAdapter { @Override public int getCount() { return 3; } @Override public Object instantiateItem

android-在 viewpager 中如何实现 Button 的 onClick 方法

问题描述 在 viewpager 中如何实现 Button 的 onClick 方法 我想在viewpaper中,点击按钮弹出Toast信息,并且想知道如何在viewpaper上访问views? 我用的以下的代码,不好用. public class MyPagerAdapter extends PagerAdapter { @Override public int getCount() { return 3; } @Override public Object instantiateItem(f

Android编程实现给Button添加图片和文字的方法_Android

本文实例讲述了Android编程实现给Button添加图片和文字的方法.分享给大家供大家参考,具体如下: //为按钮添加图片和文字的方法 public Spanned getSpan(int id, String s) { ImageGetter imgGetter = new Html.ImageGetter() { @Override public Drawable getDrawable(String source) { // TODO Auto-generated method stub

Android编程实现给Button添加图片和文字的方法

本文实例讲述了Android编程实现给Button添加图片和文字的方法.分享给大家供大家参考,具体如下: //为按钮添加图片和文字的方法 public Spanned getSpan(int id, String s) { ImageGetter imgGetter = new Html.ImageGetter() { @Override public Drawable getDrawable(String source) { // TODO Auto-generated method stub

javascript-js中,为什么表单中的button的name属性值和onclick调用的方法名一样会找不到方法?

问题描述 js中,为什么表单中的button的name属性值和onclick调用的方法名一样会找不到方法? js中,为什么表单中的button的name属性值和onclick调用的方法名一样会找不到方法? 解决方案 可能是方法名有冲突,你可以加多点限制,指定去找哪一个地方的方法,如加上一个$('#xxx').find('#xxx') 解决方案二: Android中Button用onClick属性绑定方法

Android编程实现音量按钮添加监听事件的方法

本文实例讲述了Android编程实现音量按钮添加监听事件的方法.分享给大家供大家参考,具体如下: 很多Android应用都应用到音量按钮,比如翻页,调整音乐声音大小等,但是如果没有对音量按钮进行监听,则无法达到预期的效果.如下代码,就是监听Android手机的音量按钮,开发者可以在相应的位置添加自己需要实现的功能. @Override public boolean onKeyDown (int keyCode, KeyEvent event) { // 获取手机当前音量值 int i = get

javascript实现点击后变换按钮显示文字的方法

  本文实例讲述了javascript实现点击后变换按钮显示文字的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 <html xmlns="http://www.w3.org/1999/xhtml"> <head>