作者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
1F:推 cooper6334:很明显不对.....你getSharedPreferences带的名字都不同 11/20 19:21
2F:→ han01122:我也有试过改成getSharedPreferences("DAT", 0) 也是无法 11/20 19:30
3F:推 cooper6334:你写跟拿的sharedpreferences要一致阿 11/20 19:33
4F:→ cooper6334:还有那个h是拿来干嘛的 11/20 19:33
5F:→ cooper6334:你先去看一下getSharedPreferences的参数要怎麽下 11/20 19:34
6F:推 cooper6334:重点是前面那个字串要一致 11/20 19:38
7F:→ han01122:h是计算出来的小时 不好意思刚踏入这块没多久@@ 11/21 16:31
9F:→ han01122:如果我有要用widget 是不是主activity这样写就错了呢? 11/21 16:45
10F:→ han01122:後来改成一致,在widget显示也都是0 11/21 16:49