小编Thi*_*kel的帖子

如何从字符串资源中获取AlertDialog中的可点击超链接?

我想要完成的是在一个显示的消息文本中有可点击的超链接AlertDialog.虽然AlertDialog实现愉快地强调并着色任何超链接(<a href="...">在传递给的字符串资源中定义Builder.setMessage),但链接不会变得可点击.

我目前使用的代码如下所示:

new AlertDialog.Builder(MainActivity.this).setTitle(
        R.string.Title_About).setMessage(
        getResources().getText(R.string.about))
        .setPositiveButton(android.R.string.ok, null)
        .setIcon(R.drawable.icon).show();
Run Code Online (Sandbox Code Playgroud)

我想避免使用一个WebView只显示文本片段.

user-interface android custom-controls hyperlink

128
推荐指数
10
解决办法
7万
查看次数

确定当前调用堆栈(用于诊断目的)

出于诊断目的,我有时需要存储导致给定状态转换的调用堆栈(例如授予锁定,提交事务等),以便稍后出现问题时我可以找出最初触发状态转换的人.

目前,我知道检索调用堆栈的唯一方法看起来像下面的代码片段,我认为非常难看:

StackTraceElement[] cause;
try {
  throw new Exception();
} catch (Exception e) {
  cause = e.getStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

有人知道更好的方法吗?

java stack-trace

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

使用bootstrap-modal作为Backbone.js视图

我试图基于Twitter bootstrap-modal创建一个Backbone.js视图,它通过events视图的属性使用Backbone的自动事件委托.

不幸的是,bootstrap-modal似乎破坏了Backbone的事件委托,因为它在显示模式之前克隆了视图HTML:

that.$element
      .appendTo(document.body)
      .show()
Run Code Online (Sandbox Code Playgroud)

我的看法:

App.Views.ProjectsNav ||= {}

class App.Views.ProjectsNav.NewProjectView extends Backbone.View
  events: {
    'click .save': 'save',
    'shown':       'shown'
  }

  save: (e) ->
    ...
    false

  shown: () ->
    App.Helpers.Forms.setFocus($(@el), true)
    false

  render: () ->
    $(@el).html(ich.nav_edit_project_template(@model.toJSON()))
    @$('.modal').modal({'show': true, 'keyboard': true, 'backdrop': true})
    @
Run Code Online (Sandbox Code Playgroud)

相应的(Mustache)HTML模板:

<div class="modal hide" style="display: none; ">
  <div class="modal-header">
    <a href="#" class="close">×</a>
    <h3>New Project</h3>
  </div>
  <div class="modal-body form-stacked">
    <label for="name">Name</label> <input type="text" name="name" value="{{name}}"/><input type="hidden" name="lock_version" value="{{lock_version}}"/>
  </div>
  <div class="modal-footer">
    <a href="javascript:void(0)" class="save btn …
Run Code Online (Sandbox Code Playgroud)

javascript coffeescript backbone.js twitter-bootstrap

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

在CoffeeScript中将对象数组映射到键/值对

我有一个元素数组,我想应用一个映射来将它转换为单个对象上的键值对(模仿一个关联数组).

Can destructuring assign中的方法可用于在CoffeeScript中实现投影吗?似乎不适合我,因为它导致一个简单的数组而不是键/值对.

我选择的语言是CoffeeScript或JavaScript.

一个例子:

[{name: 'a', value: 'b', other: 'c'}, {name: 'd', value: 'e', other: 'f'}]
Run Code Online (Sandbox Code Playgroud)

应该被转化为:

{
  a: 'b',
  d: 'e'
}
Run Code Online (Sandbox Code Playgroud)

单线是首选.;-)

javascript jquery coffeescript

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

为不同的Jersey REST服务调用应用不同的Jackson过滤器

我使用Jersey来实现JAX-RS REST样式服务以及用于JSON映射的Jackson 2.0.2.其中一个REST服务返回一个List<EntityA>(让我们称之为indexA)EntityA包含List<EntityB>另一个服务,而另一个服务只返回一个List<EntityB>(让我们称之为indexB):

@Entity
@JsonAutoDetect
public class EntityA {
  @Id
  private String id;

  @OneToMany
  private List<EntityB> b;

  ...
}

@Entity
@JsonAutoDetect
@JsonFilter("bFilter")
public class EntityB {
  @Id
  private String id;

  private String some;
  private String other;
  private String attributes;

  ...
}

@Path("/a")
public class AResource {

  @GET
  @Path("/")
  public List<EntityA> indexA() {
    ...
  }
}

@Path("/b")
public class BResource {

  @GET
  @Path("/")
  public List<EntityB> indexB() {
    ...
  } …
Run Code Online (Sandbox Code Playgroud)

java jax-rs jersey jackson

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

在Android ListView OnItemClickListener中获取点击坐标

比方说,我有一个Android ListView,我将OnItemClickListener附加到:

ListView listView = (ListView) findViewById(...);
listView.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        [...]
Run Code Online (Sandbox Code Playgroud)

当点击视图中的某个项目时,我可以通过获取view尺寸找出相应的矩形.但是,我希望更精确地获得相应的坐标,以识别用户实际点击的屏幕上的点.

不幸的是,OnItemClickListenerAPI似乎没有公开这些信息.有没有其他方法来掌握这个细节(没有自豪地通过实施我自己的方式重新发明轮子ListView)?

android android-widget android-listview

9
推荐指数
1
解决办法
5004
查看次数

javax.xml.bind.DatatypeConverter泄漏类加载器?

我目前正在调查Tomcat 7(带有Oracle JDK 7)上的应用程序的一些类加载器泄漏.一个保持对Web应用程序类加载器的静态引用的类(因此导致类加载器不能在重新部署/重新启动时释放)javax.xml.bind.DatatypeConverter,它存在于系统类加载器中并通过其theConverter字段保持静态引用,以便com.sun.xml.bind.DatatypeConverterImpl从Sun的jaxb中获取-impl包.

有没有人曾经观察过这个问题?任何建议(除了在应用程序关闭时使用反射来清空静态字段)?

java tomcat jaxb classloader

8
推荐指数
1
解决办法
1828
查看次数

在Maven 2中定义自定义生命周期阶段

在我的pom.xml我都引用的自定义插件,它暴露了几个目标.虽然我可以将这些目标附加到各个构建生命周期阶段,但我希望能够通过在命令行上使用我的自定义别名阶段来调用POM中定义的一组目标,例如:

mvn myphase
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个目标?我想避免修改我的插件,因为我需要运行一些由antrun插件提供的辅助操作.

maven-2 maven-plugin maven

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

禁用单个实体的JPA Hibernate架构验证

我有一个JPA实体,我用它作为本机查询的结果类.因此,该实体本身无效(因为它没有表格).我使用Hibernate 4.1.x作为我的JPA提供程序,它在启动期间执行模式验证,因此失败(我没有指定显式表):

org.hibernate.HibernateException: Missing table: MyEntity
    at org.hibernate.cfg.Configuration.validateSchema(Configuration.java:1272)
    [...]
Run Code Online (Sandbox Code Playgroud)

有没有办法只关闭单个实体的模式验证(使用JPA或hibernate注释或更改persistence.xml)?

编辑:我可以完全避免使用任何实体作为结果,但随后Hibernate将返回一个List<Object[]>as查询结果,这在技术上有效,但使用起来有点难看:

Query query = entityManager.get().createNativeQuery("SELECT node, last_update FROM mm_repl_monitoring.my_mm_nodes");
List<Object[]> statuses = query.getResultList();
Run Code Online (Sandbox Code Playgroud)

换句话说:如果有一些映射支持甚至可以用于映射到非实体类的本机查询,那将是很好的.

java hibernate jpa hibernate-mapping

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

有效地确定通过OneToMany关系引用的实体的ID

假设我有一个Hibernate实体,声明OneToMany与不同实体的关系:

@Entity
public class SomeEntity {
  @OneToMany(fetch = FetchType.LAZY)
  private List<OtherEntity> otherEntities = new LinkedList<OtherEntity>();

  [...]
}
Run Code Online (Sandbox Code Playgroud)

映射SomeEntity到相应的DTO时,我需要的只是标识OtherEntity为主键的ID (即,我实际上并不感兴趣OtherEntity).

Hibernate是否支持这种模式,即只检索通过OneToMany关系引用的实体的ID ?

我无法影响SomeEntity检索的方式(即,我SomeEntity在当前Hibernate会话的范围内检索到现有实例),但我们假设尚未进行延迟加载,因此只需检索子对象的ID(而不是完整的实际上会产生性能优势.

java hibernate

6
推荐指数
1
解决办法
520
查看次数