android 日常迭代与维护总结二
android 迭代开发中陆续遇到各种问题,我们要善于总结,归类。现在记录一下这几个月遇到的问题汇总。
1、android fragment中onActivityResult方法返回没有数据
返回数据,可能Intent data有数据或者是int requestCode这个参数返回码有错误。
解决办法:
在activity中需要加上super.onActivityResult(requestCode, resultCode, data);
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (data == null) return;// 页面返回值if (100 == requestCode) {}}
在fragment中启动是这样的。getActivity().startActivityForResult(newIntent,100);
需要前面加上getActivity()。
2、android listview的滚动顶部或者底部
a、public void setSelection (int position)
position位置的item置顶(即position位置的item到listview的最顶端),但是,没有从原来位置到顶端的滑动效果。
listview.setSelection(0);滚动到顶部。
b、public void setSelectionFromTop (int position, int y)
与setSelection 类似。setSelection(position)就是setSelectionFromTop (position,0)
选中position指定的项目,并将所选项置于距离ListView顶端y像素的位置
参数 position 需要选中的项目的索引(从0开始) y 距离ListView(包括间隙)顶端的位置
c、public void smoothScrollToPositionFromTop (int position, int offset)
平滑滚动到指定的适配器位置。 指定位置的视图会滚动到相对顶边偏移 offset 像素的位置显示。
如果无法做到(比如该偏移量会使首尾条目超越列表边缘),会滚动到尽量接近的位置。
参数
position 滚动到的位置offset 滚动结束时,指定 position 条目距离视图顶部的像素数
当offset=0时,可以把position位置的item置顶,而且带有滑动效果,即会从原来位置轻轻滑动到最顶端位置。
d、listview的滚动顶部或者底部
listview滚动到底部listview.setSelection(listview .getCount()-1);
listview滚动到顶部listview .setSelection(0);
或者 listView.setSelectionAfterHeaderView();
或者 list.smoothScrollToPosition(0);
这些需要在setAdapter方法和notifyDataSetChanged方法之后调用。
3、64位编码生成
strBasic = Base64.encodeToString(strBasic.getBytes(),Base64.DEFAULT);
4、eclipse去除所有调试断点
调试的时候发现之前加了太多断点,想去除所有断点,才想起来一直都没有使用过这个功能,放狗搜了一下,很快找到,记录一下。方法一:
在工作界面,点window菜单栏,选中Preperences,在General选项卡中的key节点下,
找到快捷键输入栏,在type filter text中输入remove,下面自能提示中就会出现Remove all breakpoints,我们要找的撤销功能键就是它了。
然后根据自己的需求改成自己想要的热键吧。
方法二:
在debug模式窗口中,点run菜单栏,在下拉的选项卡中,在底部我们可以看见Remove all breakpoints的选项,
只要我点击它,就会把我们当前调试的项目中的所有断点撤销。
5、android actionbar自定义标题栏
LayoutParams mLayoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,Gravity.LEFT|Gravity.CENTER_VERTICAL);getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);View customView = getLayoutInflater().inflate(R.layout.custom_title_setting, null);TextView titleTextView = (TextView)customView.findViewById(R.id.textViewTitle);titleTextView.setText(strTitle);getActionBar().setCustomView(customView,mLayoutParams);getActionBar().setDisplayShowCustomEnabled(true);
6、android actionbar左上角logo显示问题
默认情况下,系统会在或者标签中通过android:icon属性把你应用的图标显示在action bar上,可是,我们也可以通过android:logo属性来指定其他的图标进行显示。如果你不想一些activity显示logo,在标签注册时候android:logo属性的图标引用透明一张小图片即可。
//去掉app图标显示 getActionBar().setDisplayShowHomeEnabled(false); actionbarsherlock框架标题栏显示返回图标 // 添加返回按钮 getActionBar().setDisplayHomeAsUpEnabled(true);
如果用了 ViewPager+Fragment滑动选项卡。你会发现标题栏与tab选项栏谁在顶部的问题。 是通过下面这行代码来控制的。你想达到什么效果,可根据我说的显示logo问题。
getActionBar().setDisplayShowHomeEnabled(false);
更多相关文章
- (Android)react-native更改状态栏文字和图标颜色
- Android根据包名取得指定程序包的信息(名称、图标……)
- Android应用程序中应用图标和名字的设置
- android studio修改配置文件(.android .gradle .AndroidStudio)
- 浅析Android位置权限以及数组寻找索引的坑
- Android 动态布局 动态生成 销毁控件 改变控件的位置等
- Android 获取View的位置参数:x,y和相对父容器的偏移量以及中心点
- Android Okhttp 断点续传面试解析
- Android自定义对话框(Dialog)位置,大小