分配按钮的onclick方法的两种方法

时间:2013-05-15 06:32:43

标签: java android onclicklistener

我正在观看/阅读有关Android应用开发的一些教程。我已经学会了两种不同的方法来分配按钮的onclick方法。一种是用XML声明它:

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"
android:onClick="sendMessage" />

另一种方法是找到id按钮:

Button myBtn = (Button) findViewById(R.id.button1);
myBtn.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        //do something...           
    }
});

我的问题是:每种方法的区别(优点和缺点)是什么,如果效率不同,一种比其他方法快,所以通常更喜欢它?

2 个答案:

答案 0 :(得分:0)

效率差异并不重要,因为它会很小,但我的猜测是XML方法稍快一些,因为它避免了对象的创建。

但是,这假设通过XML完成的任何链接的开销都小于对象创建开销。

我的建议:在执行某些事情的情况下,不要担心效率低的优势。

答案 1 :(得分:-1)

通常,只需将按钮放在布局中,然后在活动类中对方法进行编码即可。您也可以使用button.setOnTouchListener并检测按钮是否已被按下或未按下(按下按钮时实现声音会改变按钮背景)。

至于你描述的第一种方法,我只在使用listview时使用它,列表中的每个项目都由textview和一个按钮组成。所以我需要这些按钮中的每一个来调用单个方法。  我希望能回答你的问题。

相关问题