tools:text仅用于预览模式的文案显示
调试UI布局时常常需要TextView上显示一些文案看看效果,但是在实际的安卓App里这个TextView的文字是通过请求接口返回的
最佳实践是使用tools:text定义仅用于UI预览下显示的文案
在布局xml的root element中按Alt+Enter可以转为data binding
logt自动生成private static ... TAG = "xxx";
Method separators
Intellij可以设置函数间的分隔线,这样看代码时将注意力集中在某一段函数,搜索Method separators
Context Menu(长按弹出菜单复制聊天消息)
第二次见到这个KeyWord,以前用windows修改context Menu(右键菜单)时了解过context menu
不过这次我是实现长按复制聊天消息的需求
// OnLongClickListener
@Override
public void onCreateContextMenu
@Override
public boolean onContextItemSelected (MenuItem item) {
(Adapter)在itemOnClick中执行Activity的方法
虽然可以通过Interface的方式让Activity文件中定义点击事件
但是现在提供另一种解决办法:将view.getContext转换为所需的Activity类型
holder.itemView.setOnClickListener(view -> {
Intent intent = new Intent();
intent.putExtra("country_code", dataSet.code);
CountryCodesActivity activity = (CountryCodesActivity)view.getContext();
activity.setResult(Activity.RESULT_OK, intent);
activity.finish();
});
onAttachedToRecyclerView
似乎有些鸡肋,要想传参在Adapter构造方法中传也行啊。用处似乎是让Adapter获取reclycerView对象
Parcelable(序列化传输java实例对象)
类似JDK的Serializable接口,用于序列化传输Java实例对象
Parcelable有点复杂,我单独写篇文章
See Also: ObservableParcelable
onTouchListener
实现按住时背景颜色改变,松开时又恢复的效果
SearchView踩坑总结
- 不要用android.widget.SearchView,很多属性多不能用
- iconifiedByDefault="false"使整个SearchView可点击而非单个搜索图标可点击
64k方法数限制
APK文件限制了单个.dex文件最多引用的方法数是65536个,解决方案:MultiDex
./gradlew lint
检查未使用的资源,检查代码质量等等
【重要】如果安卓闪退/崩溃日志被清空,那么日志跑到Run标签里了