標籤:
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位編碼產生
<span style="font-size:14px;">strBasic = Base64.encodeToString(strBasic.getBytes(),Base64.DEFAULT);</span>
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顯示問題
預設情況下,系統會在<application>或者<activity>標籤中通過android:icon屬性把你應用的表徵圖顯示在action bar上,可是,我們也可以通過android:logo屬性來指定其他的表徵圖進行顯示。如果你不想一些activity顯示logo,在<activity>標籤註冊時候android:logo屬性的表徵圖引用透明一張小圖片即可。
//去掉app表徵圖顯示 getActionBar().setDisplayShowHomeEnabled(false); actionbarsherlock架構標題列顯示返回表徵圖 // 添加返回按鈕 getActionBar().setDisplayHomeAsUpEnabled(true);
如果用了 ViewPager+Fragment滑動選項卡。你會發現標題列與tab選項欄誰在頂部的問題。
是通過下面這行代碼來控制的。你想達到什麼效果,可根據我說的顯示logo問題。
getActionBar().setDisplayShowHomeEnabled(false);
android 日常迭代與維護總結二