首页 > 其他分享 >安卓移动设备软件开发期末复习(1) 控件

安卓移动设备软件开发期末复习(1) 控件

时间:2024-12-16 18:56:15浏览次数:6  
标签:Toast 控件 复习 安卓 public Button 监听器 Activity void

监听器

监听器是事件监听机制的重要组成部分。在Java中每类事件都定义了一个相应的监听器接口,该接口定义了接收和处理事件的方法。

实现该接口的类,其对象可作为监听器对象注册在事件源组件上。

在图形用户界面中,需要响应用户操作的相关组件要注册一个或多个相应事件的监听器,该监听器中包含了能接收和处理事件的方法。在某类事件产生时,事件对象只向已注册的监听器报告。

Activity的创建

新建一个Activity一般需要如下步骤:

创建一个Activity子类,覆写onCreate()方法,Activity启动时会调用该方法

每一个Activity都需要在AndroidManifest.xml文件中注册

创建该Activity类的布局文件 (比如main.xml),添加必要控件在Activity文件中完成相应的业务逻辑功能

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);}

在Mainfest里注册Activity

密码输入 android:inputType=“textPassword”

第二步:在EditText的background属性中引用这个xml文件android:background="@drawable/shape”

EditText类中绑定监听方法:public void addTextChangedListener(TextWatcher watcher)

Button

为Button绑定监听器有两种方法:在代码中用方法setOnClickListener()绑定监听器OnClickListener,重写其方法。View.OnClickListener是View定义的点击事件的监听器接口,并在接口中仅定义了onClick()函数

将监听器直接绑定到标签

匿名内部类方式

EditText et=(EditText) findViewById(R.id.edit)
Button bt=(Button)findViewById(R.id.bn);
bt. setOnClickListener(new OnClickListener(){
public void onClick(View v){                
et.setText("Button Pressed: " + i);          
i++;            }        });

内部类方式

EditText et=(EditText) findViewById(R.id.edit)
Button bt=(Button)findViewById(R.id.bn);
MyClickListener mc=new MyClickListener();
bt. setOnClickListener(mc);
class MyClickListener implements View.OnClickListener{
public void onClick(View v){ 	
et.setText("Button Pressed: " + i);        
i++;	}}

xml布局中绑定

xml布局文件中:<Button android:text=“Button” android:id="@+id/button1"android:onClick="buttonClicked“/>

在Activity中实现buttonClicked 方法,以View作为参数public void buttonClicked(View view){ tv.setText("Button Pressed: " + i); i ++; }

创建Toast的方式

第一种创建方式:static Toast makeText(Context context, int resId, int duration)参数:context是toast显示在哪个上下文,通常是当前Activity;resId指显示内容,使用string.xml中定义的显示的消息内容,通过R.java来引用;duration指定显示时间,Toast默认有LENGTH_SHORT和LENGTH_LONG两常量,分别表示短时间显示和长时间显示。

第二种创建方式:static Toast makeText(Context context, CharSequence text, int duration) 参数context和duration与第一个方法相同,参数text是消息内容。

用上面任意方法创建Toast对象之后调用方法show()即可显示。

举例 Toast.makeText(MainActivity.this,“toast”,Toast.LENGTH_SHORT).show();

RadioButton

<RadioGroup
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:checkedButton="@id/utf"
    >
    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/utf"
        android:text="utf编码"/>
    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/gbk"
        android:text="gbk编码"/>
</RadioGroup>

RadioButton继承自CompoundButton

public boolean isChecked():确定单选框是否被选中。

public void setChecked(boolean checked):设置默认选中。

public void toggle():切换单选框的选中和未选中状态

RadioGroup的事件监听机制

对RadioGroup添加监听事件, 接口 RadioGroup.OnCheckedChangeListener, 通过该接口来实现对一组RadioButton的监听工作,绑定方法为:setOnCheckedChangeListener(RadioGroup.OnCheckedChangeListener)。

监听方法:public void onCheckedChanged(RadioGroup group, int checkedId)

第一个参数:状态发生改变的RadioGroup

第二个参数checkedId,表示当前被选中的RadioButton的ID。

genderGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 
public void onCheckedChanged(RadioGroup group, int checkid) { 
if (checkid ==R.id.femaleRadio) {     
Toast.makeText(MyActivity.this, "I am female.", Toast.LENGTH_SHORT).show();
} else if (checkid ==R.id.maleRadio) {
Toast.makeText(MyActivity.this, "I am male.", Toast.LENGTH_SHORT).show();
} else {   
Toast.makeText(MyActivity.this, "Unknown", Toast.LENGTH_SHORT).show();  
}  }        });

标签:Toast,控件,复习,安卓,public,Button,监听器,Activity,void
From: https://blog.csdn.net/weixin_74234462/article/details/144437997

相关文章

  • XSYL10103利用控件获取值也可以用自定义
    stringCKID=this._page.GetControlValue("btnCKMC");pu10103,btnCKMC是一个下拉框namespaceXSYLKCGL{publicclassCKWLDY:ISuwfBus{///<summary>///initialization///</summary>privateSlnS......
  • 2024最新最全面Java复习路线(含P5-P8),已收录 GitHub
    小编整理出一篇Java进阶架构师之路的核心知识,同时也是面试时面试官必问的知识点,篇章也是包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty与RPC、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据......
  • Gemini在安卓手机中的试用教程和建议
    持久化允许建议安卓系统默认设置的”杀后台进程“会导致Gemini在后台运行一会后,被系统杀死进程,导致您的体验受到影响。您可以通过以下方式修改几个设置,解决此问题:华为鸿蒙:1.允许应用后台运行:进入设置→搜索进入应用启动管理→关闭Gemini的自动管理开关→在弹框中......
  • 广告机如何通过安卓板以及视频汇聚平台EasyCVR进行实时直播?
    在数字化时代,信息传播的速度和效率对商业成功至关重要。广告机作为商业传播的重要工具,其功能和应用场景的拓展已成为行业发展的新趋势。随着技术的进步,实时直播功能的集成为广告机带来了革命性的变化,使得信息传播更加即时和互动。本文将详细介绍如何利用安卓板实现广告机的实时直......
  • 界面控件Kendo UI for Angular中文教程:如何构建带图表的仪表板?(三)
    KendoUIforAngularListView可以轻松地为客户端设置一个带有图表列表的仪表板,包括分页、按钮选项、数字或滚动,以及在没有更多项目要显示时的通知等。KendoUIforAngular是专用于Angular开发的专业级Angular组件。telerik致力于提供纯粹的高性能AngularUI组件,无需任何jQuery......
  • 【帆软Report】关于按钮控件的使用
    在帆软使用过程中,会遇到一些需求,比如某个功能,某些页面要在特定情况下才可以使用,这篇主要是对按钮在特定情况下显示和隐藏的心得先说需求:有一个打分按钮,要求实现当传入的状态编码是“1”的时候可以看到并且点击,其他状态编码时按钮无法使用并且隐藏。实现方法如下:在帆软e......
  • 安卓viewpager实现轮播图
    ViewPager是Android中用于实现水平或垂直滚动的视图容器,通常用于实现分页效果。在ViewPager中,用户可以滑动屏幕来切换不同的页面,它常用于实现类似于图片轮播、页面切换等功能。如何通过ViewPager组件实现轮播图效果呢?以下是我个人的方法。这是最终的效果(前面是自动轮播,有......
  • QT自定义控件实践--滑动组件
    概述             本篇文章,会逐步带您了解,如何自定义一个QT的滑动组件操作步骤选择合适的基类继承:我们命名这个自定义控件为MySlipButton,继承自QWidget添加成员变量:根据滑动组件的特性,添加合适的成员变量,如当前值、最小值、最大值、滑块的位置等。......
  • uml简单复习
    定义UML(UnifiedModelingLanguage)即统一建模语言,是一种用于软件系统分析、设计和可视化建模的标准语言。它为软件开发过程中的不同阶段提供了一种通用的、直观的方式来描述软件系统的结构、行为、功能以及与用户和其他系统之间的交互等诸多方面。UML的构成要素事物(Thin......
  • 安卓存储目录总结
    应用敏感信息目录路径:/data/data/<包名>目录用途shared_prefsSharedPreferences键值对的存储路径filesDataStore数据仓库的存储路径databasesSqlite数据库的存储路径应用私有数据目录路径:/storage/emulated/0/Android/data/<包名>相关API示例:getEx......