`
梦想家dream
  • 浏览: 64945 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

Android从零开始(九)

阅读更多
知识点:Button


核心代码:
package com.zjyb.demo16;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.view.View.OnTouchListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.Toast;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		Button standard_btn=(Button)findViewById(R.id.standard_btn);
		//Android中有很多事件带boolean的返回值
		//这类事件有个共同点:绝对不是最后一个被触发的
		//任何一个控件或是事件发生,将会触发一个事件链
		//比如在Button中会依次触发onTouch-->onTouch-->onClick
		//也就是说正常情况下我们点击(触摸)一个按钮,实际上会有三个事件来进行处理
		//分别是:按下,离开和点击,其中按下和离开都是属于Touch的两种状态
		//返回的boolean值是表示这个事件是否已经处理完毕
		//因为大多数时候其实我们不需要三个事件来完成这次触发的动作,也许只要一个就可以了
		//后面的调用是多余的,那么我们可以将返回值设置为true,表示事件已经结束
		//那么后续的事件方法将不再被调用
		//而默认是false,所以会正常完成所有的调用过程
		
		standard_btn.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				Log.v("Tag", "onClick");
			}
		});
		standard_btn.setOnTouchListener(new OnTouchListener() {
			
			@Override
			public boolean onTouch(View v, MotionEvent event) {
				Log.v("Tag", "onTouch");
				return false;
			}
		});
		
		standard_btn.setOnLongClickListener(new OnLongClickListener() {
			
			@Override
			public boolean onLongClick(View v) {
				Log.v("Tag", "onLongClick");
				//Toast.makeText(MainActivity.this, "按钮被长按", Toast.LENGTH_SHORT).show();
				return false;
			}
		});
		
		//单选的事件
		RadioGroup sex_group=(RadioGroup)findViewById(R.id.sex_group);
		sex_group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
			
			@Override
			public void onCheckedChanged(RadioGroup group, int checkedId) {
				// TODO Auto-generated method stub
				
				RadioButton btn=(RadioButton) findViewById(checkedId);
				
				Toast.makeText(MainActivity.this, "选择了"+btn.getText(), Toast.LENGTH_SHORT).show();
			}
		});
		
		//多选,选项被钩选或取消钩选时触发
		final LinearLayout hobby=(LinearLayout)findViewById(R.id.hobby);
		for(int i=0;i<hobby.getChildCount();i++){
			CheckBox cb=(CheckBox) hobby.getChildAt(i);
			cb.setOnCheckedChangeListener(new  CompoundButton.OnCheckedChangeListener() {
				
				@Override
				public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
					if(isChecked){
						//被钩选
						Toast.makeText(MainActivity.this, buttonView.getText()+"被钩选", Toast.LENGTH_SHORT).show(); 
					}else{
						//被取消
						Toast.makeText(MainActivity.this, buttonView.getText()+"被取消钩选", Toast.LENGTH_SHORT).show(); 
					}
					
				}

			});
		}
		
		//显示所有被钩选的多选项有什么
		Button btn=(Button)findViewById(R.id.hobby_btn);
		btn.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				StringBuffer sb=new StringBuffer();
				for(int i=0;i<hobby.getChildCount();i++){
					CheckBox ch=((CheckBox)hobby.getChildAt(i));
					if(ch.isChecked()){
						sb.append(ch.getText());
						sb.append(",");
					}
				}
				if(sb.length()!=0){
					sb.deleteCharAt(sb.length()-1);
				}
				Toast.makeText(MainActivity.this, sb.toString(),Toast.LENGTH_LONG).show();
			}
		});
	}

	
}



源码下载请点这里:
分享到:
评论

相关推荐

    Android从零开始(十九)

    【Android从零开始(十九)】这一篇博客主要聚焦于Android开发的学习进程,从零基础开始逐步深入。作为Android开发者,理解源码和技术工具的运用是至关重要的,这有助于提升开发效率和解决问题的能力。在本篇文章中...

    《Android开发从零开始视频教程》下载地址

    《Android开发从零开始视频教程》下载地址,常期可用! 文件大小:2.3GB 文件格式:MP4 视频内容: [Android开发从零开始].1.Android开发环境搭建.mp4 30.6MB [Android开发从零开始].2.模拟器的使用.mp4 20.8MB ...

    从零开始Android编程

    从零开始Android编程:搭建开发环境与初探游戏开发 标题和描述中提及的“从零开始Android编程”旨在引导初学者踏入Android开发的世界,通过实际项目加深理解,特别是聚焦于游戏开发领域。该课程或文章不仅覆盖了...

    从零开始学Android

    从零开始学Android 基于经典的坦克大战游戏,学习中不失乐趣。通过整个游戏开发过程从零开始学习Android开发。本文将带领读者从零开始学习Android开发,通过复刻坦克大战游戏,了解2D游戏编程的简单思路。 知识点...

    Android从零开始(十)

    【Android从零开始(十)】这一篇博客主要聚焦于Android开发中的数据绑定和适配器的使用,尤其是`SimpleAdapter`。在Android应用开发中,适配器扮演着至关重要的角色,它允许我们将数据集与UI组件,如ListView、...

    从零开始android游戏编程 包括源码

    这篇详细的教程将带你从零开始学习Android游戏编程,并提供源码供你参考和实践。我们将会深入探讨以下几个关键知识点: 1. **Android基础知识**:首先,你需要熟悉Android开发环境,包括安装Android Studio、设置...

    android从零开始 若水 源代码

    "android从零开始 若水 源代码"是一套全面的学习资源,旨在帮助初学者和有经验的开发者深入理解Android系统的运作机制以及如何在实践中应用这些知识。43个课时的内容涵盖了Android开发的各个方面,确保了学习者能...

    从零开始学编程从零开始学Android

    《从零开始学编程从零开始学Android》是一本针对Android编程初学者的教程,由曾宏远和崔荔蒙两位作者编著,2012年出版。这本书旨在为那些对安卓手机编程开发充满兴趣的读者提供一个系统且全面的学习路径。在深入探讨...

    Android开发从零开始课件源代码

    在Android开发领域,从零开始的学习过程是许多新手开发者必经之路。这个"Android开发从零开始课件源代码"的资源,旨在提供一个全面、系统的学习路径,帮助初学者逐步掌握Android应用开发的各项技能。下面我们将深入...

    从零开始学Android.

    ### 从零开始学Android——全面解析入门指南 #### 一、引言 随着移动互联网技术的迅猛发展,Android作为全球最受欢迎的移动操作系统之一,吸引了众多开发者投身于其应用程序的开发之中。对于初学者而言,《从零...

    Android开发从零开始源码

    Android开发从零开始源码,很好的资源,对初学者很有用!

    从零开始Android游戏编程(第二版)PDF版

    本书《从零开始Android游戏编程(第二版)》是为那些想要踏入这个领域的初学者精心编写的。它将引导你逐步了解并掌握Android游戏开发的基本技术和流程,助你实现自己的游戏梦想。 首先,Android游戏编程的基础是...

    Android游戏编程从零开始

    这篇资料《Android游戏编程从零开始》将引导初学者逐步踏入这个领域。以下是一些关键的知识点,这些知识点将构成你学习Android游戏开发的基础: 1. **Android基础知识**:首先,你需要了解Android操作系统的基本...

    android从零开始

    《Android从零开始》这份文档全面且深入地介绍了Android开发的基础知识,对于初学者来说,是一份极佳的学习资源。Android作为全球最流行的移动操作系统,它的应用开发领域广阔,涉及了从用户界面设计到系统级别的...

    最新Android开发从零开始源码(更新到38)

    在Android开发领域,从零开始学习意味着要掌握一系列的基础概念和技术。这个名为“最新Android开发从零开始源码”的资源提供了宝贵的实践材料,适合初学者和有经验的开发者用来巩固基础或探索新的开发技巧。这份源码...

    android从零开始源码.rar

    本资源“android从零开始源码.rar”提供了一个完整的Android项目源码,适合初学者逐步理解Android应用程序的构建过程,以及如何在Eclipse环境下进行开发和调试。下面将对这个资源中的关键知识点进行详细的解读。 ...

    从零开始学Android编程

    从零开始学Android编程

Global site tag (gtag.js) - Google Analytics