作者han01122 (屎倒淋頭)
看板AndroidDev
標題Re: [問題] 關於 Widget 傳值
時間Tue Nov 20 17:22:37 2012
如果我要先學習用Handler去寫SharedPreferences接收可行嗎?
因為我一直接收不到傳過來的值,不知道哪裡有錯
程式碼如下:
final String mPerfName = "com.CountDownActivity";
TextView mTextView = (TextView) CountDownActivity.this
.findViewById(R.id.result);
SharedPreferences.Editor prefs = CountDownActivity.this
.getSharedPreferences(mPerfName, 0).edit();
prefs.putString("DAT" +h, mTextView.getText()
.toString());
prefs.putLong("HH" , h);
prefs.commit();
在widget接收:
SharedPreferences prefs = context.getSharedPreferences("DAT",
Context.MODE_PRIVATE);
SharedPreferences h = context.getSharedPreferences("HH", 0);
views.setTextViewText(R.id.T1, ""+prefs.getLong("DAT",0));
appWidgetManager.updateAppWidget(appWidgetId,views);
請問我的方法用對了嗎?widget的執行結果只會顯示0
麻煩大大解惑了感恩!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.134.136
推 cooper6334:很明顯不對.....你getSharedPreferences帶的名字都不同 11/20 19:21
→ han01122:我也有試過改成getSharedPreferences("DAT", 0) 也是無法 11/20 19:30
推 cooper6334:你寫跟拿的sharedpreferences要一致阿 11/20 19:33
→ cooper6334:還有那個h是拿來幹嘛的 11/20 19:33
→ cooper6334:你先去看一下getSharedPreferences的參數要怎麼下 11/20 19:34
推 cooper6334:重點是前面那個字串要一致 11/20 19:38
→ han01122:h是計算出來的小時 不好意思剛踏入這塊沒多久@@ 11/21 16:31
→ han01122:如果我有要用widget 是不是主activity這樣寫就錯了呢? 11/21 16:45
→ han01122:後來改成一致,在widget顯示也都是0 11/21 16:49