android开发-控件和监听

对于android应用程序,控件称为View,在处理UI中各种元素的时候,两个程序中的要点为:
(1)得到布局文件(xml)中的控件句柄
(2)设置控件的行为
句柄通常是用函数findViewById根据控件的id来获得对应控件的句柄的,设置响应是通过监听来实现的。
常见的响应方式有3种:
(1)第一种是在Activity组件中的onCreate()函数中直接定义,直接动作。

Button mButton = (Button) findViewById(R.id.button1);
        mButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Doing something;
            }
        });

这里使用R.id.button1等和布局文件中各个元素的id是对应的。实际上,在布局文件中,各个控件即使不写android:id这一项也可以正常显示,但是需要在代码中控制则必须设置这一项。
(2)第二种是在Activity组件中实现OnClickListener()接口,也就是需要实现其中的 onClick()方法。然后通过 setOnClickListener()将其设置到按钮中的 参数就是 this,表示了当前的活动。

public class XmlAnimation001Activity extends Activity implements OnClickListener {
    private ImageView iv;
    private ImageView iv2;
    private ImageView iv3;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        fButton mButton = (Button)findViewById(R.id.button1);
        mButton.setOnClickListener(this);
    }

    public void onClick(View v) {
        Doing something;
    }
}

(3)第三种类似第二种,但能实现多个监听接口。

public class TestEvent3 extends Activity{
    private TextView mText;
    private Button1_OnClickListener mListener1 = new
    Button1_OnClickListener();
    private Button2_OnClickListener mListener2 = new
    Button2_OnClickListener();
    public TestEvent3() {
    }
    class Button1_OnClickListener implements
    OnClickListener { // 接口的第一个实现
        public void onClick(View v) {
            mText.setBackgroundColor(Color.RED);
        }
    }
    class Button2_OnClickListener implements
    OnClickListener { // 接口的第一个实现
        public void onClick(View v) {
            mText.setBackgroundColor(Color.GREEN);
        }
    }
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.testevent);
        final Button mButton1 = (Button)
        findViewById(R.id.button1);
        final Button mButton2 = (Button)
        findViewById(R.id.button2);
        mButton1.setOnClickListener(mListener1); // 设置监听者的类
        mButton2.setOnClickListener(mListener2); // 设置监听者的类
    }
}

通过定义实现活动类中的 2 个子类,来实现 View.OnClickListener 这个接口,这种方式是一种最为直接的方式,即为不同的控件单独实现它的相应类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值