`
jakielong
  • 浏览: 228459 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android响应按钮的程序结构

阅读更多

图形界面的按钮是最普通的控件,Android响应按钮的程序结构大体分成如下两种:

    (1)采样匿名内部类的按钮实现方式:

    如下面的Java程序,在声明Class时只是从Activity派生,并没有实现任何接口。因此为了实现按钮事件的响应,就必须在下面的方法中用匿名内部类的方式实现,比如

       //退出按钮;
        bt_exit.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // Perform action on click
             finish();
            }
        });
在这段程序中,new View.OnClickListener() 就是匿名的的内部类,而

public void onClick(View v) {
                // Perform action on click
             finish();
            }
就是这个内部类onClick方法的实现。

    上述完整的程序结构如下:

public class a15act extends Activity {
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        setTitle("调光手电筒   2010-3-20");
       
        //建立主发光区TextView的对象;
        final TextView tv_light=(TextView) findViewById(R.id.tv_light);
       
       
        //建立三个Button的对象;
        Button bt_low=(Button) findViewById(R.id.bt_low);
        Button bt_high=(Button) findViewById(R.id.bt_high);
        Button bt_exit=(Button) findViewById(R.id.bt_exit);
       
        //退出按钮;
        bt_exit.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // Perform action on click
             finish();
            }
        });
        //低亮度按钮;
        bt_low.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // Perform action on click
             
    tv_light.setBackgroundColor(Color.GRAY);
             
            }
        });
       
        //高亮度按钮;
        bt_high.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // Perform action on click
             tv_light.setBackgroundColor(Color.WHITE);
             
            }
        });
       
    }
}

 

    (2)用Activity直接实现OnClickListener接口的方式:

    与上面的程序结构不同,在声明Class时可以直接实现OnClickListener,然后在Class内部就可以用同一个onClick方法实现所有按钮的响应,按钮区分可采用swith--case的语句结构实现。

    例如:public class mmact extends Activity implements OnClickListener, 在class声明时不仅从Activity派生,而且还实现OnClickListener 接口。在class中用语句实现接口OnClickListener 的onClick方法,即 public void onClick(View aView)。对于很多按钮事件,可以用switch--case实现,例如

      

        switch (aView.getId()) {  

            case R.id.button1:  

                setTitle("Start the App");  

               

                EditText edt = (EditText) findViewById(R.id.edittext_name);  

                TextView tv = (TextView) findViewById(R.id.textview_display);  

                tv.setText("Hello," + edt.getText());  

               

               

               

                //android:text="YES" ;

 

                break;  

            case R.id.button2:  

                finish();  

                break;  

        }  

    下面是个比较完整的程序结构:

 

public class mmact extends Activity implements OnClickListener {  

     

    @Override 

    public void onCreate(Bundle savedInstanceState) {  

          

        super.onCreate(savedInstanceState);  

        setContentView(R.layout.main);  

        //从资源文件中获取按钮对象的引用  

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

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

        //注册点击事件监听者  

        sButton1.setOnClickListener(this);  

        sButton2.setOnClickListener(this);  

    }  

     

    public void onClick(View aView) {  

          

        switch (aView.getId()) {  

            case R.id.button1:  

                setTitle("Start the App");  

               

                EditText edt = (EditText) findViewById(R.id.edittext_name);  

                TextView tv = (TextView) findViewById(R.id.textview_display);  

                tv.setText("Hello," + edt.getText());  

               

               

               

                //android:text="YES" ;

 

                break;  

            case R.id.button2:  

                finish();  

                break;  

        }  

          

          

    }  

分享到:
评论

相关推荐

    Android 点按钮添加TableRow源码.zip

    通过分析这个项目,我们可以学习到如何在Android应用中创建响应用户操作的动态UI,这对于开发具有交互性的应用程序非常重要。这个简单的小程序是理解Android布局管理和事件处理机制的一个实用起点。

    Android计算器小程序

    在Android中,为了响应用户输入,我们需要使用`OnClickListener`接口。在`ComputeMachine`的`onCreate()`方法中,为每个按钮设置监听器,并在监听器的`onClick()`方法中调用`CalculatorEngine`的相关方法。 除了...

    android 动态添加按钮实例

    总的来说,动态添加按钮是Android开发中的基本技能,它不仅能够提高程序的灵活性,还能帮助开发者掌握Android UI编程的核心概念。通过学习和实践这个实例,你将能够更熟练地操纵Android界面,为用户提供更加丰富的...

    android源代码(程序启动播放背景音乐,自定义按钮,自定义对话框,界面精美)

    这个"android源代码"示例专注于几个关键的Android开发技术:程序启动时播放背景音乐、自定义按钮、自定义对话框以及创建精美的用户界面。下面将详细介绍这些知识点。 1. **启动时播放背景音乐** 在Android应用启动...

    android下投票小程序

    2. **Android应用程序结构** 一个基本的Android应用由多个组件构成,如Activity(活动)、Service(服务)、BroadcastReceiver(广播接收器)和ContentProvider(内容提供者)。在这个投票小程序中,我们可能主要...

    Android拖动按钮效果源码.zip

    在Android中,所有的触摸事件都由View类处理,主要通过`onTouchEvent()`方法来响应。开发者可以通过重写这个方法,来捕获并处理用户的触摸行为,包括按下(ACTION_DOWN)、移动(ACTION_MOVE)和释放(ACTION_UP)等...

    Android系统结构和SDK使用;Android SDK的开发环境;Android应用程序的概述和框架;Android应用程序示例;Android应用程序的内容;Android的UI系统实现;视图组(ViewGroup)和布局(Layout)的使用

    ### Android系统结构与SDK使用详解 #### 一、Android系统介绍 ...总之,Android系统结构和SDK使用涉及到了从底层系统架构到应用程序开发的各个环节。开发者需要深入理解这些概念和技术,才能构建高质量的应用程序。

    《Android应用程序开发》源代码

    在Android应用程序开发中,源代码是开发者实现功能、构建用户界面和管理应用程序逻辑的核心部分。这份"《Android应用程序开发》源代码"包含了官方未修改的示例,为初学者和经验丰富的开发者提供了一个深入理解...

    Android程序设计基础程序代码

    在Android程序设计基础中,我们主要探讨的是如何利用Java语言和Android SDK开发应用程序。这个压缩包文件"**MyAndroid**"很可能包含了多个示例项目,用于帮助初学者理解和实践Android应用的基本构造和功能。 首先,...

    android 记事本程序

    总的来说,这个“android 记事本程序”涵盖了Android应用开发的基本元素,从界面设计到数据管理,再到事件响应,都是初学者了解Android开发的宝贵资源。通过深入学习和实践,可以逐步掌握Android开发的技能,为后续...

    Android Studio实战 快速、高效地构建Android应用 源程序.zip

    1. **ch02** - 这部分可能涉及到Android Studio的基础知识,如创建一个新的Android项目、了解项目结构、设置运行环境、编写Hello World程序等。 2. **ch03** - 可能是关于布局设计的章节,包括XML布局的编写、使用...

    android小钢琴程序

    开发者可能使用Android的`View`系统创建钢琴键盘布局,每个琴键都是一个可点击的按钮,当用户触摸时,触发对应的音符播放。 4. **多线程**: 为了保证用户交互的流畅性,音符的播放通常在后台线程中执行,避免阻塞...

    Android 第一个简单的程序例子

    在这个过程中,我们将学习到Android应用的基本结构、布局设计以及事件处理等核心概念。 首先,Android应用的核心是`Activity`,它是一个用户可以与之交互的屏幕。在我们的例子"Activity02"中,我们很可能看到一个...

    Android 应用程序框架

    在Android中,MVC(Model-View-Controller)设计模式是一种广泛应用于创建应用程序结构的方式,尤其是在UI设计中。 **1. Model(模型)** 模型层是应用程序中负责数据处理和业务逻辑的部分。在Android中,模型通常...

    8个android小程序源码

    这个压缩包包含了8个Android小程序的源码,为开发者提供了宝贵的参考资料。每个程序都包含了详细的注释,可以帮助初学者理解代码逻辑,对于有一定经验的开发者,也能提供不同的设计思路和实现方法。以下是这些源码...

    智力拼图android程序的实现.rar

    7. **事件监听**:按钮点击、滑动等用户交互都需要通过事件监听来处理,开发者会使用OnClickListener、OnTouchListener等接口来响应用户操作。 8. **多线程**:如果游戏有复杂的计算或网络请求,可能需要用到多线程...

    Android简单计算器程序

    总之,开发一个Android简单计算器程序涵盖了Android应用的基础结构、布局设计、事件处理、数学运算以及用户交互等多个方面,是学习Android开发的绝佳实践项目。通过这个项目,开发者不仅能提升编程技能,还能对...

    Qt on Android 示例程序

    **Qt on Android 示例程序** ...通过这些示例,开发者能够了解 Qt on Android 的核心概念,包括事件处理、网络编程、图形用户界面设计、数据结构和多线程等。这些知识对于开发高效且用户友好的 Android 应用至关重要。

    7个Android经典应用程序源代码

    这个压缩包包含了7个Android经典应用程序的源代码,对于想要深入了解Android应用开发、优化代码和学习新技巧的开发者来说,这是一个不可多得的资源。下面我们将逐一探讨这些经典应用可能包含的知识点。 1. **基础UI...

    Android小程序源代码——计算器

    在Android中,我们通过在Activity类中定义方法来响应按钮的点击事件。例如,对于一个按钮,当用户点击时,对应的`onClick`方法会被调用。这些方法通常会更新UI或者执行相应的计算操作。在`Calculator.java`中,我们...

Global site tag (gtag.js) - Google Analytics