android编程权威指南 第2版,Android编程权威指南(第2版)—第13章挑战练习

13.6 挑战练习:删除crime记录

这个比较简单,分三步

第一步创建一个button

第二步在CrimeLab增加删除方法

public void removeCrime(Crime c) {

mCrimes.remove(c);

}

第三步修改CrimeFragment.java的onCreateView方法,绑定按钮,增加监听事件

mRemoveButton = (Button) v.findViewById(R.id.crime_remove_button);

mRemoveButton.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

CrimeLab.get(getActivity()).removeCrime(mCrime);

getActivity().finish();

}

});

13.7 挑战练习:优化字符串资源显示

这个按照书本的代码进行修改即可,效果如如下

3196eac17739

Criminallntent

13.8 挑战练习:用于RecyclerView的空视图

(1)修改fragment_crime_list.xml

原本只有一个RecyclerView组建,现在增加父组建,并增加一个textview和一个button

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent">

xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/crime_recycler_view"

android:layout_width="match_parent"

android:layout_height="match_parent"/>

android:id="@+id/no_crime_textview"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="@string/no_crime"

android:layout_centerInParent="true"

android:layout_marginLeft="16dp"

android:gravity="center"

android:layout_marginRight="16dp"

style="?android:listSeparatorTextViewStyle"

android:layout_margin="15dp"/>

android:id="@+id/no_crime_add_button"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_below="@+id/no_crime_textview"

android:layout_marginLeft="16dp"

android:layout_marginRight="16dp"

android:text="@string/add_crime"

android:background="@drawable/bt_selector"/>

(2)string.xml里面加上

没有crime记录可以显示

(3)修改CrimeListFragment.java

增加两个变量

private TextView mNoCrimeTextView;

private Button mNoCrimeButton;

修改onCreateView方法为上面两个变量绑定id组件

修改updateUI()增加如下代码

public void updateUI(){

CrimeLab crimeLab = CrimeLab.get(getActivity());

List crimes = crimeLab.getCrimes();

//如果没有配置好CrimeAdapter,就创建一个CrimeAdapter

if (mAdapter == null){

//创建RecyclerAdapter

mAdapter = new CrimeAdapter(crimes);

// 然后设置给RecyclerView

mCrimeRecyclerView.setAdapter(mAdapter);

}else{

//如果已经配置好CrimeAdapter,就调用notifyDataSetChanged()

// 方法修改updateUI()方法

mAdapter.setCrimes(crimes);

// mAdapter.notifyDataSetChanged();

//实现高效的RecyclerView刷新方法

//如果想要刷新删除crime之后的CrimeListFragment,

// mAdapter.notifyItemChanged( mIndex ); //单例更新 -- 会报错

mAdapter.notifyDataSetChanged(); //全量更新

}

/*

挑战练习 用于RecyclerView的空列表

*/

if (crimes.size() == 0){

mNoCrimetextView.setVisibility( View.VISIBLE );

mNoCrimeButton.setVisibility( View.VISIBLE );

}else {

mNoCrimeButton.setVisibility( View.GONE );

mNoCrimetextView.setVisibility( View.GONE );

}

updateSubtitle();

}

具体访问我的Github:Pages

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android编程权威指南第4》是一本非常有价值的Android编程指南。该书由美国程序员Bill Phillips、Chris Stewart和Brian Hardy合著,对Android开发的方方面面进行了深入的解析和讲解。 这本书对于想要入门或提升自己在Android开发领域的开发者来说是一本理想的教材。它详细介绍了Android平台的基本原理、架构和开发工具,并通过实际案例和示例代码,讲解了如何使用Java语言和Android SDK进行开发,如何构建用户界面、处理用户输入、管理数据、调试和测试应用程序等等。 《Android编程权威指南第4》的内容涵盖了Android开发的方方面面,包括Activity、Fragment、Intent、Broadcast Receiver、Service、Content Provider等组件的使用,以及Android系统的UI设计、网络通信、数据存储、多媒体处理等相关技术。此外,该书还介绍了如何使用Android Studio进行项目管理和本控制,以及如何发布应用到Google Play商店。 该书语言简练、通俗易懂,结合了理论与实践,帮助读者从零开始深入学习Android开发。无论是初学者还是有一定经验的开发者,都可以通过阅读本书,了解到最新的Android开发技术和最佳实践。 总的来说,《Android编程权威指南第4》是一本对于想要学习和掌握Android开发的人来说必备的书籍,通过深入浅出的讲解和丰富的实例,帮助读者掌握Android开发的核心知识和技巧。无论是个人开发者还是企业开发团队,都可以通过阅读该书,提高自己在Android开发领域的能力和水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值