小编Jos*_*ura的帖子

尝试使用SharedPreferences存储字符串集时出现错误行为

我正在尝试使用SharedPreferencesAPI存储一组字符串.

Set<String> s = sharedPrefs.getStringSet("key", new HashSet<String>());
s.add(new_element);

SharedPreferences.Editor editor = sharedPrefs.edit();
editor.putStringSet(s);
edit.commit()
Run Code Online (Sandbox Code Playgroud)

我第一次执行上面的代码时,s设置为默认值(刚刚创建的结束为空HashSet)并且存储没有问题.

第二次和下次我执行此代码时,s返回一个对象,并添加第一个元素.我可以添加元素,并且在程序执行期间,它显然存储在SharedPreferences,但是当程序被终止时,SharedPreferences从其持久存储中再次读取并且新值被丢失.

第二个以及之后的元素如何存储以便它们不会丢失?

android android-preferences

62
推荐指数
4
解决办法
1万
查看次数

Fragment和DialogFragment之间的通信

我正在尝试制作Fragment一个Dialog使用DialogFragmentAPI.

我的对话框只有一个EditText视图,我想将写入的字符串传回给它Fragment.

我能够从中显示对话框Fragment,但是我无法从输入字段中检索字符串回到我的Fragment.

我尝试了两种方法来创建一个对话框:覆盖DialogFragment.onCreateView方法并编写整个对话框的视图并覆盖DialogFragment.onCreateDialog并使用AlertDialog.Builder它来更容易编写按钮行为.

关于将事件传递回对话框主机的对话框的 Android文档是关于主机始终是一个Activity永远不是a Fragment.我试图概括在我的情况下使用它的行为,但我不能.

我尝试使用DialogFragment.onAttach回调以获取Activity参考和使用之间的接口Fragment以及DialogFrament和它工作正常,但我不能检索FragmentActivity使它工作.

有人可以帮忙举个简短的例子吗?

提前致谢

android android-fragments android-alertdialog

17
推荐指数
2
解决办法
1万
查看次数

元类Singleton对象中的析构函数

我正在修改通过元类方法使用单例模式的遗留库.

继承自的Singleton类type定义了de __call__function.

现在,我的单个对象使用这个库永远不会被删除.我__del__在单例类中定义了该方法,并且从不调用该函数.

澄清:我已经实现了一个名为的(meta)类Singleton,由几个类使用,使用Singletonas __metaclass__.

例如,我有class A(object),那__metaclass__ = Singleton.A类有几个成员,我希望在程序结束时销毁它,并且销毁A对象(唯一可存在的对象).

我尝试__del__A课堂上定义方法,但它不起作用.

python singleton destructor metaclass

8
推荐指数
1
解决办法
950
查看次数

在环境中设置Bash功能

我需要从C/C++程序在Bash环境中定义一个Bash函数.在shellshock bug 之前,我可以用这种方式定义一个函数:

my_func='() { echo "This is my function";}'
Run Code Online (Sandbox Code Playgroud)

或等同于C程序:

setenv("my_func", "() { echo \"This is my function\";}", 1);
Run Code Online (Sandbox Code Playgroud)

要么

putenv("my_func=() { echo \"This is my function\";}");
Run Code Online (Sandbox Code Playgroud)

但是使用修复了shellshock的Bash版本,我无法管理如何在环境中定义我的函数.

奇怪的是,如果我运行env,我可以看到我在环境中定义的函数,但如果我调用它,Bash说它不存在.

提前致谢

linux bash environment-variables setenv shellshock-bash-bug

4
推荐指数
2
解决办法
3127
查看次数

使用定时自动删除元素设置类

我正在用Python编写一个软件,我需要一个类来存储一组元素(顺序不相关而不是重复元素),比如Python类set,但我需要在一段时间后自动删除这些元素.

为此,我想覆盖该set.add方法,使用此超时添加具有默认值的参数.

我的问题是实现它的最佳方法:线程?像gobject一样的超时?

欢迎所有建议!

python

3
推荐指数
1
解决办法
1756
查看次数