Re: [問題] 關於 Widget 傳值
我看了一下你的程式
你在Activity裡寫入SharedPreferences的部份
final String mPerfName = "com.mewo.CountDownActivity";
SharedPreferences shp
=getSharedPreferences(mPerfName, Context.MODE_WORLD_READABLE);
SharedPreferences.Editor prefs
= CountDownActivity.this.getSharedPreferences(mPerfName, 0).edit();
prefs.putString("DAT" +h, mTextView.getText().toString());
prefs.putLong("DAT" , h);
prefs.commit();
在AppWidgetProvider拿出SharedPreferences的部份
SharedPreferences mPref;
SharedPreferences prefs
= context.getSharedPreferences("DAT", Context.MODE_PRIVATE);
SharedPreferences sharedata = context.getSharedPreferences("data", 0);
long data = sharedata.getLong("DAT",0);
========================================================================
SharedPreferences其實也就是把資料寫成某種格式的檔案
然後提供你介面存入跟取出
getSharedPreferences()所帶的第一個參數,就是這個檔案的名稱
你現在把DAT這筆long寫在mPerfName也就是com.mewo.CountDownActivity裡
然後想到data找到DAT,當然找不到
函式不會用的話都可以到http://developer.android.com/ 查
甚至Eclipse裡面都能查到函式說明,參數不能亂帶阿
※ 引述《han01122 (屎倒淋頭)》之銘言:
: 如果我要先學習用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: 140.112.91.176
※ 編輯: cooper6334 來自: 140.112.91.176 (11/21 22:39)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):