栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Android:如何处理按钮单击

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android:如何处理按钮单击

问题1:不幸的是,您所说的最直观的是Android中使用最少的一个。据我了解,您应该将UI(XML)和计算功能(Java类文件)分开。它还使调试更加容易。通过这种方式阅读并思考Android
imo实际上要容易得多。

问题2:我相信主要使用的两个是#2和#3。我将以Button clickButton为例。

2

是匿名类的形式。

Button clickButton = (Button) findViewById(R.id.clickButton);clickButton.setonClickListener( new onClickListener() { @Override public void onClick(View v) {     // TODO Auto-generated method stub     ***Do what you want with the click here*** }        });

这是我的最爱,因为它在使用findViewById设置按钮变量的位置旁边具有onClick方法。处理此clickButton按钮视图的所有内容都位于此处,看起来非常整洁。

我的同事评论的一个缺点是,假设您有许多需要onclick侦听器的视图。您会看到onCreate的长度将非常长。因此,他为什么喜欢使用:

3

假设您有5个clickButton:

确保您的活动/片段实现了OnClickListener

// in onCreateButton mClickButton1 = (Button)findViewById(R.id.clickButton1);mClickButton1.setonClickListener(this);Button mClickButton2 = (Button)findViewById(R.id.clickButton2);mClickButton2.setonClickListener(this);Button mClickButton3 = (Button)findViewById(R.id.clickButton3);mClickButton3.setonClickListener(this);Button mClickButton4 = (Button)findViewById(R.id.clickButton4);mClickButton4.setonClickListener(this);Button mClickButton5 = (Button)findViewById(R.id.clickButton5);mClickButton5.setonClickListener(this);// somewhere else in your prepublic void onClick(View v) {    switch (v.getId()) {        case  R.id.clickButton1: { // do something for button 1 click break;        }        case R.id.clickButton2: { // do something for button 2 click break;        }        //.... etc    }}

正如我的同事所解释的那样,这种方式在他眼中更加整洁,因为所有onClick计算都在一个地方进行处理,而不会占用onCreate方法。但是我看到的缺点是:

  1. 看自己
  2. 并且onClick方法使用的onCreate中可能位于的其他任何对象都必须放入字段中。

让我知道您是否需要更多信息。我没有完全回答您的问题,因为这是一个很长的问题。如果我找到一些站点,我会扩展答案,现在,我只是在提供一些经验。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/609360.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号