我有一个视图,我在onDraw(Canvas画布)方法中使用Canvas对象进行绘制.我的代码是:
Paint paint = new Paint();
paint.setColor(Color.WHITE);
paint.setStyle(Style.FILL);
canvas.drawPaint(paint);
paint.setColor(android.R.color.black);
paint.setTextSize(20);
canvas.drawText("Some Text", 10, 25, paint);
Run Code Online (Sandbox Code Playgroud)
问题是文字没有透过背景显示,我做错了什么?如果我删除canvas.drawPaint(paint)和paint.setColor(android.R.color.black),你可以看到屏幕上的文字......
我有一个关于TreeSet
集合和hashCode
方法的快速问题.我有一个TreeSet
并且我正在添加对象,在添加对象之前,我检查它是否存在于TreeSet
使用该contains
方法中.
我有2个不同的对象,每个对象使用我的hashCode方法实现产生一个不同的hashCode,例如:
public int hashCode()
{
int hash = 7;
hash = hash * 31 + anAttribute.hashCode();
hash = hash * 31 + anotherAttribute.hashCode();
hash = hash * 31 + yetAnotherAttribute.hashCode();
return hash;
}
Run Code Online (Sandbox Code Playgroud)
特定运行的hashCodes是:76126352和76126353(对象在一个属性中仅相差一位).
即使hashCodes不同,contains方法也会为这些对象返回true.有什么想法吗?这真的令人困惑,真的很感激帮助.
我有一个应用程序,由于事件没有被分离,在对象引用设置为null之前有一些内存泄漏.应用程序非常大,通过查看代码很难找到内存泄漏.我想使用sos.dll来查找泄漏源的方法的名称,但我遇到了问题.我建立了一个测试项目来证明这个问题.
在这里,我有2个课程,一个有一个事件,并在下面听取该事件
namespace MemoryLeak
{
class Program
{
static void Main(string[] args)
{
TestMemoryLeak testMemoryLeak = new TestMemoryLeak();
while (!Console.ReadKey().Key.Equals('q'))
{
}
}
}
class TestMemoryLeak
{
public event EventHandler AnEvent;
internal TestMemoryLeak()
{
AnEventListener leak = new AnEventListener();
this.AnEvent += (s, e) => leak.OnLeak();
AnEvent(this, EventArgs.Empty);
}
}
class AnEventListener
{
public void OnLeak()
{
Console.WriteLine("Leak Event");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我闯入代码,并在中间窗口类型
.load sos.dll
Run Code Online (Sandbox Code Playgroud)
然后我使用!dumpheap来获取AnEventListener类型的堆上的对象
!dumpheap -type MemoryLeak.AnEventListener
Run Code Online (Sandbox Code Playgroud)
我得到以下内容
PDB symbol for mscorwks.dll not loaded
Address MT Size
01e19254 0040348c …
Run Code Online (Sandbox Code Playgroud) 我有一个SQL语句,我正在通过OleDb执行,语句是这样的:
INSERT INTO mytable (name, dept) VALUES (@name, @dept);
Run Code Online (Sandbox Code Playgroud)
我正在向OleDbCommand添加参数,如下所示:
OleDbCommand Command = new OleDbCommand();
Command.Connection = Connection;
OleDbParameter Parameter1 = new OleDbParameter();
Parameter1.OleDbType = OleDbType.VarChar;
Parameter1.ParamterName = "@name";
Parameter1.Value = "Bob";
OleDbParameter Parameter2 = new OleDbParameter();
Parameter2.OleDbType = OleDbType.VarChar;
Parameter2.ParamterName = "@dept";
Parameter2.Value = "ADept";
Command.Parameters.Add(Parameter1);
Command.Parameters.Add(Parameter2);
Run Code Online (Sandbox Code Playgroud)
我得到的问题是,如果我添加参数以反过来命令,那么列将填充错误的值(即名称在dept列中,反之亦然)
Command.Parameters.Add(Parameter2);
Command.Parameters.Add(Parameter1);
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果参数值只是按照添加命令的顺序插入到表中,参数名称的重点是什么?参数名称似乎多余?
在阅读关于IronJS的文章时,我可以在这篇文章中找到http://ironjs.wordpress.com/
其中包括:
*上下文敏感函数关键字
如果您不知道,这两个函数不相同:
(function bar() { })
function foo() { }
Run Code Online (Sandbox Code Playgroud)
找出差异,我将作为练习留给读者.
有人可以解释这里的区别吗?
我一直在寻找一个正常的表达与谷歌一个小时左右现在似乎无法工作这一个:(
如果我有一个号码,请说:
2345
我想找到任何其他数字相同的数字,但顺序不同,如下所示:
2345
例如,我匹配
3245
或5432
(相同数字但不同的顺序)
我该怎么写这个正则表达式?
我有一个传递java.util.Date的应用程序.我想检查这个日期是否在一天的指定时间内(例如10:30到11:30之间),我不关心日期,只关心时间.
有人能告诉我一个简单的方法吗?
谢谢
我的Android应用程序的用户有一些报告说X10上没有播放声音.我有点困惑,因为它适用于我尝试过的所有其他手机,Neus One,Hero,Droid.我正在使用SoundPool类播放声音,还有其他人有与X10类似的问题吗?
谢谢,Gaz
android ×2
c# ×2
java ×2
.net ×1
audio ×1
date ×1
drawtext ×1
hashcode ×1
javascript ×1
memory-leaks ×1
oledb ×1
oledbcommand ×1
regex ×1
treeset ×1