我正在尝试使用SharedPreferences
API存储一组字符串.
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
从其持久存储中再次读取并且新值被丢失.
第二个以及之后的元素如何存储以便它们不会丢失?
我正在尝试制作Fragment
一个Dialog
使用DialogFragment
API.
我的对话框只有一个EditText
视图,我想将写入的字符串传回给它Fragment
.
我能够从中显示对话框Fragment
,但是我无法从输入字段中检索字符串回到我的Fragment
.
我尝试了两种方法来创建一个对话框:覆盖DialogFragment.onCreateView
方法并编写整个对话框的视图并覆盖DialogFragment.onCreateDialog
并使用AlertDialog.Builder
它来更容易编写按钮行为.
关于将事件传递回对话框主机的对话框的 Android文档是关于主机始终是一个Activity
永远不是a Fragment
.我试图概括在我的情况下使用它的行为,但我不能.
我尝试使用DialogFragment.onAttach
回调以获取Activity
参考和使用之间的接口Fragment
以及DialogFrament
和它工作正常,但我不能检索Fragment
从Activity
使它工作.
有人可以帮忙举个简短的例子吗?
提前致谢
我正在修改通过元类方法使用单例模式的遗留库.
继承自的Singleton类type
定义了de __call__
function.
现在,我的单个对象使用这个库永远不会被删除.我__del__
在单例类中定义了该方法,并且从不调用该函数.
澄清:我已经实现了一个名为的(meta)类Singleton
,由几个类使用,使用Singleton
as __metaclass__
.
例如,我有class A(object)
,那__metaclass__ = Singleton
.A类有几个成员,我希望在程序结束时销毁它,并且销毁A对象(唯一可存在的对象).
我尝试__del__
在A
课堂上定义方法,但它不起作用.
我需要从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说它不存在.
提前致谢
我正在用Python编写一个软件,我需要一个类来存储一组元素(顺序不相关而不是重复元素),比如Python类set
,但我需要在一段时间后自动删除这些元素.
为此,我想覆盖该set.add
方法,使用此超时添加具有默认值的参数.
我的问题是实现它的最佳方法:线程?像gobject一样的超时?
欢迎所有建议!