我有一个用于PreferenceActivity的xml文件(/res/xml/setting.xml):
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Main Settings">
<ListPreference
android:title="Background Image"
android:summary="Set the background image"
android:key="key_background"
android:entries="@array/background"
android:entryValues="@array/background_values"
android:defaultValue="winter.png" />
</PreferenceCategory>
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
然后我有另一个xml文件"/res/values/string.xml":
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="background">
<item>Winter</item>
<item>Desert</item>
</string-array>
<string-array name="background_values">
<item>winter.png</item>
<item>desert.png</item>
</string-array>
</resources>
Run Code Online (Sandbox Code Playgroud)
请参阅setting.xml中的ListPreference,我想android:defaultValue设置为winter.png.但是我也不想在xml中设置硬编码/常量值,所以我尝试了各种值,如" @array/background_values/0"," @array/background_values[0]"等...但都失败了.
所以,问题是:
android:defaultValue是否正常工作?@array语法的文档?我找不到任何东西.我在这里阅读了其他相同的问题,但是对于某些内置类来说,这种情况太具体了。我想在这里问一个简单的案例,希望能得到一般的答案。
所以我有这段代码:
object ScalaApp {
case class Point(x: Int, y: Int);
case class Rational(n: Int, d: Int) {
def \(i: Int): List[Int] = n :: d:: i :: Nil
}
case class MyObject(x: Int, y: Int, z: Int) {
def \(i: Int): List[Int] = x :: y:: i :: Nil
}
implicit def pointToRational(p: Point): Rational = Rational(p.x + 1, p.y * 2)
implicit def pointToMyObject(p: Point): MyObject = MyObject(p.x, p.y, p.x+p.y)
def main(args: Array[String]) {
val p …Run Code Online (Sandbox Code Playgroud) 我有一张地图清单:
val list = List(
Map("id" -> "A", "value" -> 20, "name" -> "a"),
Map("id" -> "B", "value" -> 10, "name" -> "b"),
Map("id" -> "A", "value" -> 5, "name" -> "a"),
Map("id" -> "C", "value" -> 1, "name" -> "c"),
Map("id" -> "D", "value" -> 60, "name" -> "d"),
Map("id" -> "C", "value" -> 3, "name" -> "c")
)
Run Code Online (Sandbox Code Playgroud)
我想要以最有效的方式对值进行求和value并按id值分组,以便它变为:
Map(A -> 25, B -> 10, C -> 4, D -> 60)
Run Code Online (Sandbox Code Playgroud) 您通常如何以功能方式在Scala中替换if-without-else?
例如,像这样的命令式典型模式:
var list = List("a", "b", "c")
if (flag) { // flag is boolean variable
// do something inside if flag is true
list = "x" :: list
}
// if flag is false, nothing happened
Run Code Online (Sandbox Code Playgroud)
我在想这样使它起作用:
val tempList = List("a", "b", "c")
val list = if (flag) "x" :: tempList else tempList
Run Code Online (Sandbox Code Playgroud)
如果不使用中间变量,是否会有更好的方法?
因此,任何人都可以分享如何在scala中消除if-without-else?
我正在寻找一个可以包含一个值的两个或更多键的Java Map类.它几乎像apache常见集合中的MultiKeyMap,但它只能使用其中一个键来检索值而不是使用所有键.
例如,使用键"key1"和"key2"在地图中为值"Hello World"创建一个条目:
map.put("Hello World", "key1", "key2");
Run Code Online (Sandbox Code Playgroud)
然后,如果我想获得价值,我可以使用两种可能的方式:
String value = map.get("key1");
Run Code Online (Sandbox Code Playgroud)
要么
String value = map.get("key2");
Run Code Online (Sandbox Code Playgroud)
在MultiKeyMap中,您需要指定所有键来检索值:
String value = map.get("key1", "key2");
Run Code Online (Sandbox Code Playgroud)
更新:
人们告诉我使用常规的Map类,但我不确定具有指向相同值的两个键的映射是否会在内存中生成两个重复值.所以任何人都可以确认一下
我们知道经典的范围随机函数是这样的:
public static final int random(final int min, final int max) {
Random rand = new Random();
return min + rand.nextInt(max - min + 1); // +1 for including the max
}
Run Code Online (Sandbox Code Playgroud)
我想创建算法函数,用于在 1..10 之间的范围内随机生成数字,但具有不均匀的可能性,例如:
1) 1,2,3 -> 3/6 (1/2)
2) 4,5,6,7 -> 1/6
3) 8,9,10 -> 2/6 (1/3)
以上表示函数有 1/2 的机会返回 1 到 3 之间的数字,1/6 机会返回 4 到 7 之间的数字,1/3 机会返回 8 到 10 之间的数字。
有人知道算法吗?
更新:
实际上 1..10 之间的范围只是作为一个例子。我想创建的函数适用于任何范围的数字,例如:1..10000,但规则仍然相同:3/6 代表最高范围(30% 部分),1/6 代表中间范围(下一个40% 的部分),底部范围的 2/6(最后 30% 的部分)。
我有一个像这样的开源java swing应用程序:
http://i47.tinypic.com/dff4f7.jpg
你可以在截图中看到,有一个JPanel分为左右两个区域.左侧区域有许多文本链接.当我单击SLA Criteria链接时,它将弹出SLA Criteria窗口.弹出窗口是JFrame对象.
现在,我试图将弹出窗口放到JPanel的右侧区域,这意味着不再有弹出窗口,即当我单击SLA Criteria链接时,其内容将显示在右侧区域. JPanel的.JPanel右侧区域的现有内容将不再使用.这个概念与java api文档页面中的相同:http://docs.oracle.com/javase/6/docs/api.单击左框中的链接,您将获得右框显示的内容.
示例说明如下:
(注意:它是使用图像编辑器制作和编辑的,这不是工作应用程序的真实截图)
http://i48.tinypic.com/5vrxaa.jpg
那么,我想知道有没有办法将JFrame放入JPanel?
我正在考虑使用JInternalFrame,这可能吗?或者还有另一种方式吗?
更新:
源代码:
http ://pastebin.com/tiqRbWP8(VTreePanel.java,这是左右区域分区的面板)
http://pastebin.com/330z3yuT (CPanel.java,这是VTreePanel的超类并且也是JPanel的子类)
http://pastebin.com/MkNsbtjh (AWindow.java,这是弹出窗口)
http://pastebin.com/2rsppQeE (CFrame.java,这是AWindow的超类,也是来自JFrame的子类)
我正在开发一个与 spring-struts Web 应用程序集成的 Web 服务,在 XSD 中有一个 XMLGregorianCalendar 类型属性,假设属性名称是trxDate。
在 SOAPUI 测试应用程序中,如果我插入了 trxDate 的值:2013-02-21,那么我发送了soap xml请求数据,并使用以下方法在服务方法中打印了该值: System.out.println(trxDate) 方法,打印输出结果与输入相同:2013-02-21。
现在,我正在尝试创建一个函数来将trxDate与当前日期进行比较。我知道我们可以使用 trxDate.compare(currentDate) 方法进行比较。问题是我不知道如何创建使用当前日期设置的 XMLGregorianCalendar 对象,仅使用日期部分(日、月和年)进行比较。
我尝试使用以下代码:
GregorianCalendar gc = new GregorianCalendar();
gc.set(GregorianCalendar.HOUR_OF_DAY, 0);
gc.set(GregorianCalendar.MINUTE, 0);
gc.set(GregorianCalendar.SECOND, 0);
gc.set(GregorianCalendar.MILLISECOND, 0);
XMLGregorianCalendar xgc = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc);
System.out.println(xgc);
Run Code Online (Sandbox Code Playgroud)
结果是:
2013-02-20T00:00:00.000+07:00
但我期待:
2013-02-20
如果使用日期(xgc )与trxDate进行比较:
int result = trxDate.compare(xgc);
Run Code Online (Sandbox Code Playgroud)
结果是 2,这意味着:INDETERMINATE(来自 DatatypeConstants 类)。正确的结果应该是 -1、0 或 1。
那么我的代码有什么问题吗?
来自:http: //developer.android.com/resources/tutorials/views/hello-gridview.html,在ImageAdapter类中:
imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
Run Code Online (Sandbox Code Playgroud)
查看新的GridView.LayoutParams部分.这似乎是的LayoutParams内部静态类的GridView类的,但根据Android的文档,GridView控件类的完整路径是android.widget.GridView,而的LayoutParams是android.widget.AbsListView.LayoutParams.所以LayoutParams不是GridView的内部静态类.
怎么可能呢?
我在postgreSQL v9.1中有这个表:
CREATE TABLE ad_treenodemm
(
ad_tree_id numeric(10,0) NOT NULL,
node_id numeric(10,0) NOT NULL,
ad_client_id numeric(10,0) NOT NULL,
ad_org_id numeric(10,0) NOT NULL,
name character varying(60) NOT NULL,
isactive character(1) NOT NULL DEFAULT 'Y'::bpchar,
created timestamp without time zone NOT NULL DEFAULT now(),
createdby numeric(10,0) NOT NULL,
updated timestamp without time zone NOT NULL DEFAULT now(),
updatedby numeric(10,0) NOT NULL,
parent_id numeric(10,0),
seqno numeric(10,0),
CONSTRAINT ad_treenodemm_pkey PRIMARY KEY (ad_tree_id , node_id ),
CONSTRAINT adtree_adtreenodemm FOREIGN KEY (ad_tree_id)
REFERENCES adempiere.ad_tree (ad_tree_id) MATCH …Run Code Online (Sandbox Code Playgroud)