今天在http://android-developers.blogspot.com/2012/05/using-dialogfragments.html上看到使用DialogFragments才知道原來要在fragment的畫面上呈現一個Dialog這麼簡單,但網路上可以查到的資料好像還是相當少,附上簡單的實作DialogFragments連結,一看就懂了。
先附上官網的效果圖...
點左上角File的Download就可以下載囉
DialogFragments範例下載
2012年5月12日 星期六
2012年5月4日 星期五
Android Sqlite 開關問題
一直以來使用Sqlite開關方面,一直出現問題譬如以下錯誤畫面
05-04 14:14:50.870: E/AndroidRuntime(7173): java.lang.IllegalStateException: database /data/data/etwarm.namespace/databases/Super_data.db (conn# 0) already closed
或
close() was never explicitly called on database
等等等...........
這類的錯誤(close訊息)都只是上個db沒有關閉又開了一次,譬如開了一次getReadableDatabase()又再開了一次getReadableDatabase(),這樣在DDMS就會看到錯誤訊息,雖然不至於影響整個應用程序,但看到錯誤訊息心理就不是很舒服。
個人在程序上的方式如下,自己筆記一下。
//這個應用程序有使用2個db,先在最上頭宣告為null值 private DBOpenHelper dbHelper=null; private Customer_DBOpenHelper customer_dbHelper=null; SQLiteDatabase db=null; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //宣告 dbHelper = new DBOpenHelper(this); customer_dbHelper = new Customer_DBOpenHelper(this); } //使用2個public,當dbHelper開時,customer_dbHelper就關,customer_dbHelper要開時dbHelper就關 public void db_help_open(){ if(customer_dbHelper!=null){customer_dbHelper.close();} db = dbHelper.getReadableDatabase(); } public void customer_db_help_open(){ if(dbHelper!=null){dbHelper.close();} db = customer_dbHelper.getReadableDatabase(); } //當離開畫面時呼叫all_cursor_db_close()這個自己寫的方法 public void onPause() { // TODO Auto-generated method stub all_cursor_db_close(); super.onPause(); } //把他全部關閉 public void all_cursor_db_close(){ if(cursor!=null){cursor=null;} if(customer_dbHelper != null){customer_dbHelper.close();} if(dbHelper != null){dbHelper.close();} }如果各位有更好的做法及建議,歡迎各位共同討論!!
2012年5月1日 星期二
Index -1 requested, with a size of 1的問題原因
今天在使用Sqlite的cursor時出現以下錯誤訊息
05-02 02:54:56.928: E/AndroidRuntime(1660): android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 1
再來看一下官方文件
public abstract int getColumnIndex (String columnName)
Since: API Level 1
Returns the zero-based index for the given column name, or -1 if the column doesn't exist. If you expect the column to exist use
getColumnIndexOrThrow(String)
instead, which will make the error more clear.if(cursor.getCount()>0) { while(cursor.moveToNext()) { String test=cursor.getString(cursor.getColumnIndex("customer_want")); Log.i("Tag","這是cursor取得的值:"+test.toString()); } }
訂閱:
文章 (Atom)
星期、月份英文縮寫
中文 英文 3字母 縮寫 3字母 縮寫 2字母 縮寫 2字母 縮寫 1字母 縮寫 1字母 縮寫 其他 縮寫 星期日 Sunday SUN Sun SU Su S S 星期一 Monday MON Mon MO Mo M M 星期二 Tuesday TUE Tue TU ...
-
今天想做個Edittext輸入自動搜尋,原本使用setOnKeyListener的時候,輸入中文都要再按一次完成才會即時才會擷取,結果發現 addTextChangedListener 更好用呢,一輸入就即時更新字串,跟WhatsApp的搜尋聯絡人一樣,很即時搜尋唷。 ...
-
要把經緯度店址可以使用以下作法 Geocoder gc = new Geocoder(getActivity(), Locale.TRADITIONAL_CHINESE); List<Address> lstAddress = gc.getFromLocation...
-
中文 英文 3字母 縮寫 3字母 縮寫 2字母 縮寫 2字母 縮寫 1字母 縮寫 1字母 縮寫 其他 縮寫 星期日 Sunday SUN Sun SU Su S S 星期一 Monday MON Mon MO Mo M M 星期二 Tuesday TUE Tue TU ...