Linux Mint创始人的comment声明可以以编程方式访问较新版Nemo中的文件标志,如下例中使用Python和PyGTK所示:
import gio
file = gio.File("/home/guest/Documents/Todo")
emblems = file.query_info("metadata::emblems")
print emblems.get_attribute_as_string("metadata::emblems")
以“
”格式输出内容[emblem-important, emblem-urgent]
如您所见,存储为metadata::emblems
的对象是一个列表(我猜是字符串)。但是,在Gio.FileInfo
public class SOActivity extends Activity
{
private String var1;
private ArrayList<String> var2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
OuterClass outerClass = new OuterClass();
outerClass.someMethod(this);
android.util.Log.d("SOActivity", "var1=" + var1);
android.util.Log.d("SOActivity", "var2=" + var2.get(0) + var2.get(1));
}
public void setVar1(String var1) {
this.var1 = var1;
}
public void setVar2(ArrayList<String> var2) {
this.var2 = var2;
}
}
public class OuterClass {
public void someMethod(SOActivity soActivity) {
// Some big init for var1 and var2
soActivity.setVar1("somevalue1");
ArrayList<String> al = new ArrayList<String>();
al.add("My");
al.add("solution");
soActivity.setVar2(al);
}
}
上,我无法找到访问(读取或写入)数组类型属性的方法。
有没有任何方法可以做到这一点(即以编程方式阅读单个徽章或设置新徽章)?如果是,我该如何做到这一点?
答案 0 :(得分:2)
奇怪的是,没有方便的方法可以做到这一点,但您可以直接拨打File.set_attribute
,使用STRINGV作为类型。
f.set_attribute('metadata::emblems', gio.FILE_ATTRIBUTE_TYPE_STRINGV, ['emblem-important', 'emblem-urgent'])