编辑:似乎大多数人误解了我的问题.
我知道枚举是如何运作的,我知道二进制.我想知道为什么带有[Flags]属性的枚举是按原样设计的.
原帖:
这可能是重复的,但我没有找到任何其他帖子,所以这里.
我打赌它背后有一些很好的理由,我发现它有点容易出错.
[Flag]
public enum Flagged
{
One, // 0
Two, // 1
Three, // 2
Four, // 3
}
Flagged f; // Defaults to Flagged.One = 0
f = Flagged.Four;
(f & Flagged.One) != 0; // Sure.. One defaults to 0
(f & Flagged.Two) != 0; // 3 & 1 == 1
(f & Flagged.Three) != 0; // 3 & 2 == 2
Run Code Online (Sandbox Code Playgroud)
如果做到这样的话会不会更有意义?
[Flag]
public enum Flagged
{
One = 1 << 0, …Run Code Online (Sandbox Code Playgroud) 如果您正在使用MVVM并使用命令,您通常会在ViewModel上看到由私有RelayCommand或DelegateCommand字段支持的ICommand属性,例如MSDN上原始MVVM文章中的此示例:
RelayCommand _saveCommand;
public ICommand SaveCommand
{
get
{
if (_saveCommand == null)
{
_saveCommand = new RelayCommand(param => this.Save(),
param => this.CanSave );
}
return _saveCommand;
}
}
Run Code Online (Sandbox Code Playgroud)
然而,这很麻烦,并且使得设置新命令相当繁琐(我与一些资深的WinForms开发人员合作,他们对所有这些打字都不屑一顾).所以我想简化它并挖掘一下.我在get {}块的第一行设置了一个断点,看到它只是在我的应用程序第一次加载时才被击中 - 我可以随后发出尽可能多的命令,这个断点永远不会被击中 - 所以我想要简化这个以从我的ViewModel中删除一些混乱,并注意到以下代码的工作方式相同:
public ICommand SaveCommand
{
get
{
return new RelayCommand(param => this.Save(), param => this.CanSave );
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我不太了解C#或垃圾收集器,知道这是否会导致问题,例如在某些情况下产生过多的垃圾.这会造成任何问题吗?
当我用setWifiEnabled切换wifi时,我不明白为什么我需要将WAKE_LOCK权限添加到应用程序清单...任何想法?
尝试更改NSTextField的选定文本背景颜色(我们有一个黑暗的UI,选定的文本背景几乎与文本本身相同),但只有NSTextView似乎允许我们更改它.
因此我们尝试使用NSTextView伪造NSTextField,但无法使文本滚动工作相同.
我们得到的最接近的是这段代码:
NSTextView *tf = [ [ NSTextView alloc ] initWithFrame: NSMakeRect( 30.0, 20.0, 80.0, 22.0 ) ];
// Dark UI
[tf setTextColor:[NSColor whiteColor]];
[tf setBackgroundColor:[NSColor darkGrayColor]];
// Fixed size
[tf setVerticallyResizable:FALSE];
[tf setHorizontallyResizable:FALSE];
[tf setAlignment:NSRightTextAlignment]; // Make it right-aligned (yup, we need this too)
[[tf textContainer] setContainerSize:NSMakeSize(2000, 20)]; // Try to Avoid line wrapping with this ugly hack
[tf setFieldEditor:TRUE]; // Make Return key accept the textfield
// Set text properties
NSMutableDictionary *dict = [[[tf selectedTextAttributes] mutableCopy ] …Run Code Online (Sandbox Code Playgroud) 我有一个程序,getClass().getClassLoader().getResource()用于获取目录的URL,它在eclipse中工作正常,但在jared之后,它返回null.
根据这个网址:http: //www.coderanch.com/t/385935/java/java/getResource-path-fails-Jar
问题的结果是因为jar中不存在路径本身.存在路径的文件,但不存在路径本身.我在Eclipse中使用"Runnable JAR File"导出命令.当我尝试使用旧的导出"Jar文件"来创建jar时,我注意到" 添加目录条目 " 的复选框,这就是解决方案.Jar文件在jar中需要自己的目录条目,getResource()返回路径的URL.
但是在maven中,我无法在打包时找到"添加目录条目"的命令,有人可以给我一个提示吗?非常感谢 !
环境:eclipse 3.5,m2eclipse,maven 2.2.1
有时我们在jboss/server/web/tmp/vfs-nested.tmp 目录中有大量的JAR文件 .
例如,今天这个目录包含超过350k的jar文件.
但在其他主机上,此目录中只有2个jar文件.
这个问题的根本原因是什么?
我们使用JBoss 5.1
更新:
我在JBoss 5.1.0.GA的发行说明中找到了以下信息:
JBoss VFS提供了一组不同的开关来控制它的内部行为.JBoss AS默认设置jboss.vfs.forceCopy = true.要查看所有提供的VFS标志,请查看VFSUtils.java类的代码.
所以我不明白我应该设置什么?
我应该设置-Djboss.vfs.forceNoCopy = true还是-Djboss.vfs.forceCopy = false?
或者我应该设置它们两个?
更新1:
我已阅读整个主题http://community.jboss.org/thread/2148?start=0&tstart=0
现在我不应该更改jboss.vfs.forceCopy或jboss.vfs.forceNoCopy.
根据这个线程,我将出现OutOfMemory错误而不是tmp目录中的大量文件.
我正在使用NDK(修订版4)和OpenGL ES 2.0为Nexus One编写图形密集的游戏.我们真的在这里推动硬件,并且在大多数情况下它运行良好,除了每隔一段时间我就会遇到这个日志消息严重崩溃:
W/SharedBufferStack(398):waitForCondition(LockCondition)超时(identity = 9,status = 0).CPU可以挂钩.再试一次.
整个系统锁定,反复重复此消息,并在几分钟后重新启动,或者我们必须手动重启.我们使用的是Android OS 2.1,更新1.
我知道其他一些人已经看到过这个bug,有时与音频有关.在我的情况下,它是由它引起的SharedBufferStack,所以我猜这是一个OpenGL问题.有没有人遇到这个,更好的修复它?或者有人知道发生了什么事SharedBufferStack来帮助我缩小范围吗?
我有一个简单的列表,从数据库中填入一个复选框.我需要一个处理所选的所有复选框.当那时按下CLEAR按钮时,我需要所有选中复选框的行ID来删除它们.为此:我的list.xml文件如下所示:
< LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ListView
android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/clearselected"
android:text="CLEAR"
android:clickable ="false"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我的data_entry.xml如下所示:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<CheckBox
android:id="@+id/CheckBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="50px"
android:layout_y="22px"></CheckBox>
<TextView android:text="@+id/EntryText"
android:id="@+id/EntryText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/blue"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
现在:我有list.java文件,我填写列表如下:
private void populateList() {
Cursor c = db1.getAllList();
String[] fields = new String[]{db1.get_data()};
SimpleCursorAdapter cursorAdapter = new
ListAdapter adapter = new SimpleCursorAdapter(this, R.layout.data_entry, c,
fields, new int[] {R.id.EntryText});
setListAdapter(adapter);
}
Run Code Online (Sandbox Code Playgroud)
现在我在哪里给heckbox导致其他任何地方的句柄,它会给我一个null异常,因为data_entry包含复选框.另外我需要一个监听器来处理复选框状态?我只是坚持这一点,毫无头绪..
我在asp.net中设计了我的网页aspx页面.我需要将其转换为html页面.因为我的服务器不支持.aspx页面帮我解决这个问题
android ×3
c# ×2
android-ndk ×1
asp.net ×1
bitflags ×1
cocoa ×1
enums ×1
getresource ×1
html ×1
jar ×1
java ×1
jboss ×1
jboss5.x ×1
macos ×1
mvvm ×1
nexus-one ×1
nstextfield ×1
nstextview ×1
objective-c ×1
postgresql ×1
relaycommand ×1
wifi ×1
wpf ×1