android 迭代开发中陆续遇到各种问题,我们要善于总结,归类。现在记录一下这几个月遇到的问题汇总。
返回数据,可能Intent data有数据或者是int requestCode这个参数返回码有错误。
解决办法:
在activity中需要加上super.onActivityResult(requestCode, resultCode, data);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (data == null) return;
// 页面返回值
if (100 == requestCode) {
}
}
在fragment中启动是这样的。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方法之后调用。
strBasic = Base64.encodeToString(strBasic.getBytes(),Base64.DEFAULT);
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);
默认情况下,系统会在
//去掉app图标显示
getActionBar().setDisplayShowHomeEnabled(false);
actionbarsherlock框架标题栏显示返回图标
// 添加返回按钮
getActionBar().setDisplayHomeAsUpEnabled(true);
如果用了 ViewPager+Fragment滑动选项卡。你会发现标题栏与tab选项栏谁在顶部的问题。
是通过下面这行代码来控制的。你想达到什么效果,可根据我说的显示logo问题。
getActionBar().setDisplayShowHomeEnabled(false);