• 《Android编程权威指南》读书笔记(五)挑战练习


    《Android编程权威指南》-读书笔记(五)

    -挑战练习

     

    为了巩固学习,为了建立信心。开始进行如下挑战:

    挑战练习一:为TextView添加监听器

    书中给出了提示,TextView,Button都是View的子类,都可以设置OnClickListener()直接加入如下代码:

    mQuestionTextView.setOnClickListener(new View.OnClickListener(){

    @Override

    public void onClick(View v){

    mCurrentIndex = (mCurrentIndex+1) % mQuestionBank.length;

    updateQuestion();

    }

    });

    本次修改修改了一个文件,直接在逻辑层给TextView绑定一个事件就可以了。

    添加有代码如下:

    http://git.oschina.net/canglin/GeoQuiz/commit/6b35ec258c780c9a9d4016c9c3a29e568f21a489

    挑战练习二:添加后退按钮

    • 首先我们要在 layout/activity_quiz.xml里添加控件
    • 然后我们在values/strings.xml里添加按钮上的文字
    • 定义mPrevButton的变量
    • 定义PrevButton的事件

    在添加控件后,按钮会顺序排列,为了让2个button在一行,我用了一个LinearLayout他的orientation属性为horizontal。

    在定义按钮的文字的时候,我还是用的@string/prev_button,然后在strings.xml里面添加了文字

    当Prev按钮到达问题的第一个的时候,我们停止回退。代码如下:

    mPrevButton.setOnClickListener(new View.OnClickListener(){

    @Override

    public void onClick(View v) {

    if(mCurrentIndex >0)

    {

    mCurrentIndex--;

    }

    updateQuestion();

    }

    });

    本次挑战我修改了3个文件

    代码如下:

    http://git.oschina.net/canglin/GeoQuiz/commit/a7868341ae5efff75a024f5e7e6f5197875d0517

    挑战练习三:从按钮到图标按钮

    要求:将用户界面上的普通Button组件替换成ImageButton组件。

    ImageButton组件继承ImageView。Button组件则继承Textview。他们的继承关系如下:

    所以他们是可以直接替换掉的,但是ImageButton是没有Text属性的所以这个属性必须删除掉必须删除掉。

    所以代码应该是这个样子的。当然2个变量mPrevButton,mNextButton记得要改成ImageButton类型,还有逻辑代码里面获取对象实例也要改成ImageButton。

    本次修改修改了2个文件

    代码如下:

    http://git.oschina.net/canglin/GeoQuiz/commit/3ceadc8f6089801f187a697dfb03185c31c72612

    本次挑战我获得了如下收获:

    • 熟悉了给TextView、Button、ImageButton添加OnClickListener()
    • LinearLayout用以布局。
    • 新控件ImageButton,以及与Button之间的关系。
  • 相关阅读:
    Maven导入com.google.common.collect jar包
    poj 2192 Zipper
    poj 3278 Catch That Cow
    poj 2488 A Knight's Journey
    poj 3982 序列
    poj 2109 Power of Cryptography
    poj 3258 3273
    java中大数的一些基本运算
    hdu 1715 大菲波数
    最小生成树模板
  • 原文地址:https://www.cnblogs.com/canglin/p/4335559.html
Copyright © 2020-2023  润新知