小编use*_*278的帖子

如何强制内联div保持同一条线?

我正在尝试制作三列布局.我希望左右列的宽度只与子项内容一样宽.我希望中心列扩展以填充剩余空间.

我正在尝试以下(概述,包括下面的jsfiddle链接):

#colLeft {
  display: inline;
  float: left;
}
#colCenter {
  float: left;
  display: inline;
  overflow: none;
  white-space: nowrap;
}
#colRight {
  display: inline;
  float: right;
}

<div id="parent" style="width:100%">
  <div id="colLeft">left</div>
  <div id="colCenter">Some really long text in the center. Some really long text in the center.</div>
  <div id="colRight">right</div>
</div>
Run Code Online (Sandbox Code Playgroud)

小提琴:http: //jsfiddle.net/5kszQ/

但是当其内容太长时,中间列会推动其下方的右列.我希望所有三列都是内联的,并根据需要缩小中心列.这就是上面给我的:

在此输入图像描述

相反,我想:

在此输入图像描述

谢谢你的帮助

html css word-wrap

42
推荐指数
2
解决办法
8万
查看次数

如何处理多态的反序列化?

我有一个类:

public class Barn {
    String type;
    Animal animal;
}

public class Horse extends Animal {
}

public class Cow extends Animal {
}
Run Code Online (Sandbox Code Playgroud)

我想序列化它们的列表:

List<Barn> barns = new ArrayList<Barn>();

Barn barn1 = new Barn();
barn1.setType("horse");
barn1.setAnimal(new Horse());
barns.add(barn1);

Barn barn2 = new Barn();
barn2.setType("cow");
barn2.setAnimal(new Cow());
barns.add(barn2);

...

Group<Barn> barns = gson.fromJson(serialized);   
Run Code Online (Sandbox Code Playgroud)

当我序列化时,Animal属性的类型信息将丢失.有没有办法我可以以某种方式安装解析器监听器,以便我可以提供正确的类来反序列化,因为遇到列表中的每个元素?这就是手动提供描述类类型的字符串的想法.

谢谢

java gson

27
推荐指数
3
解决办法
1万
查看次数

应用引擎项目访问谷歌云存储的默认凭据?

我有一个应用引擎项目,我想访问我的谷歌云存储默认存储桶.获取Credential对象的第一步失败,在实时实例上执行以下操作:

Credential creds = GoogleCredential.getApplicationDefault();
Run Code Online (Sandbox Code Playgroud)

我收到的异常消息:

"应用程序默认凭据不可用.如果在Google Compute Engine中运行,则可以使用它们.否则,必须定义环境变量GOOGLE_APPLICATION_CREDENTIALS,指向定义凭据的文件.请参阅https://developers.google.com/accounts/docs/application-default-credentials有关详细信息."

这里的文档说生产应用程序引擎项目应该可以访问默认凭据吗?:

https://developers.google.com/identity/protocols/application-default-credentials

"3.如果您在Google App Engine生产中运行,将使用与该应用程序关联的内置服务帐户."

我缺少一些设置吗?

我的app引擎版本(gradle):

com.google.appengine:appengine-java-sdk:1.9.18
Run Code Online (Sandbox Code Playgroud)

和谷歌云存储库版本:

com.google.apis:google-api-services-storage:v1-rev35-1.20.0
Run Code Online (Sandbox Code Playgroud)

谢谢

google-app-engine google-cloud-storage

13
推荐指数
1
解决办法
9923
查看次数

在ListView中,新的gms.maps.MapView渲染有点滞后?

我正在尝试将新MapView的实例放在ListView中.新的mapview是:

com.google.android.gms.maps.MapView
Run Code Online (Sandbox Code Playgroud)

我正在关闭所有交互,并为视图设置固定高度:

GoogleMapOptions options = new GoogleMapOptions();
    options.mapType(GoogleMap.MAP_TYPE_NORMAL);
    options.compassEnabled(false);
    options.rotateGesturesEnabled(false);
    options.scrollGesturesEnabled(false);
    options.tiltGesturesEnabled(false);
    options.zoomControlsEnabled(false);
    options.zoomGesturesEnabled(false);

mMapView = new MapView(getActivity(), options);
mMapView.setLayoutParams(new AbsListView.LayoutParams(
    AbsListView.LayoutParams.MATCH_PARENT,
    200));
mMapView.setEnabled(false);
mMapView.setFocusable(false);
getListView().addHeaderView(mMapView);
getListView().addAdapter(simpleArrayAdapter);
Run Code Online (Sandbox Code Playgroud)

这很有效,但如果我快速滚动列表视图,看起来mapview渲染会稍微滞后,所以你可以在滚动方向看到一小块黑色像素.

这几乎看起来似乎是某种同步问题,因为我猜测使用opengl的mapview足够快以响应我的滚动进行渲染.此外,旧的MapView + MapActivity在相同的设置中也可以正常运行.

下面是快速滚动时出现间隙的图片.经过一段时间后,mapview将赶上并再次渲染.

在此输入图像描述

有什么想法吗?

谢谢

-----更新---------

此问题看起来与以下内容相同:

使用Google Maps API v2的ViewPager:神秘的黑色视图

但是我无法在此设置中记录那里的修复程序.

android google-maps surfaceview android-maps android-maps-v2

7
推荐指数
1
解决办法
1715
查看次数

使用"-webkit-overflow-scrolling:touch"时停止过度滚动?

我发现了:

-webkit-overflow-scrolling: touch;
Run Code Online (Sandbox Code Playgroud)

css元素给我们在ios上的原生滚动.这对我来说似乎没问题.

但有没有办法关闭"过度滚动"效应?

例如,当滚动位置=零,并且您继续向下拖动时,我的内容的顶部将向下移动,在其上方显示一点白色空间.当您松开手指时,内容会向上快退.有没有办法只禁用它的那部分?

我也从这里读到:

http://cantina.co/2012/03/06/ios-5-native-scrolling-grins-and-gothcas/

那个苹果已经介绍了这个与渲染有关的bug,以及一个修复的hack:

-webkit-transform: translate3d(0,0,0);
Run Code Online (Sandbox Code Playgroud)

应该修复它.这是用ios6修复的吗?

css mobile-safari ios

5
推荐指数
1
解决办法
1万
查看次数

获取第三方服务器的URL是否会从cron作业中退出?

我有一个每15分钟运行一次的cron作业.它启动一个本地servlet,它试图从我运行的服务器(不是app引擎的一部分)打开一个url:

<cron>
  <url>/utils/doUpCheck</url>
  <description>Check that our third party server is up.</description>
  <schedule>every 5 minutes</schedule>
</cron>
Run Code Online (Sandbox Code Playgroud)

在/ utils/doUpCheck的servlet中:

String url = "https://example.com:9443/echo";
HttpURLConnection conn = (HttpURLConnection)new URL(url).openConnection();
conn.setConnectTimeout(10000);
conn.setReadTimeout(10000);
...
Run Code Online (Sandbox Code Playgroud)

但是每次运行时我都会记录一个超时异常:

java.net.SocketTimeoutException: 
  Timeout while fetching URL: https://example.com:9443/echo
  at com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationException(URLFetchServiceImpl.java:142)
  ...
Run Code Online (Sandbox Code Playgroud)

我确定example.com上的服务器正在运行,每当我看到这个错误发生时,很容易从浏览器中检查.知道为什么会发生这种情况吗?当然,作为一个完整性检查,我已经用" https://google.com " 替换了网址,它运行正常.所以看起来像我的服务器特定的东西,但它再次适用于其他应用程序/浏览器,

谢谢

https://developers.google.com/appengine/docs/java/urlfetch/

-------更新----------

另外一项,我最近更改了第三方服务器的IP地址.那么app引擎可能会为该域名提供一些陈旧的dns条目?就像我之前说的那样,其他应用程序/浏览器都可以解析域名.

-------再次更新----------

我在同一台机器上打开了一个额外的端口来提供http请求(使用相同的webserver应用程序实例).所以app引擎可以很好地解决这个问题:

http://example.com:9000/echo
Run Code Online (Sandbox Code Playgroud)

但我继续得到超时:

https://example.com:9443/echo
Run Code Online (Sandbox Code Playgroud)

我确定" http://example.com:9443 "正在服务,因为我可以用任何浏览器点击它.它还使用来自受信任机构的证书,我在访问URL时不必为浏览器做任何例外.

我被困在这里,任何想法?

-------再次更新----------

我添加了一些代码来尝试使用低级别的URL提取服务,同样的问题,套接字超时异常.

https://developers.google.com/appengine/docs/java/javadoc/com/google/appengine/api/urlfetch/package-summary

google-app-engine

5
推荐指数
1
解决办法
727
查看次数

SimpleDateFormat - 解析时间戳,以毫秒为单位

我有一个来自服务的时间戳字符串,它有6毫秒的数字:

String timestamp = "2014-09-30T15:30:00.777777";
Run Code Online (Sandbox Code Playgroud)

我正在解析它:

String format = "yyyy-MM-dd'T'HH:mm:ss.SSS";

DateFormat df = new SimpleDateFormat(format, Locale.ENGLISH);
Date date = df.parse(timestamp);

SimpleDateFormat df2 = new SimpleDateFormat();
System.out.println(df2.format(date));
Run Code Online (Sandbox Code Playgroud)

我期待看到:

"9/30/14 3:30 PM"
Run Code Online (Sandbox Code Playgroud)

但相反,我得到:

"9/30/14 3:42 PM"
Run Code Online (Sandbox Code Playgroud)

提前十二分钟.我尝试使用6毫秒数字的不同格式字符串:

String format = "yyyy-MM-dd'T'HH:mm:ss.SSSSSS";
Run Code Online (Sandbox Code Playgroud)

结果相同.

我似乎要做的是手动将传入的时间戳字符串截断为3毫秒数字:

timestamp = timestamp.substring(0, timestamp.length()-3);
Run Code Online (Sandbox Code Playgroud)

然后我得到了预期的结果.或者我可以使用忽略毫秒的截断格式字符串:

String format = "yyyy-MM-dd'T'HH:mm:ss";
Run Code Online (Sandbox Code Playgroud)

那些正确的解决方案?我只是在滥用SimpleDateFormat吗?

谢谢

java

4
推荐指数
1
解决办法
2339
查看次数