AndroidAnnotations——Injecting FragmentArg注入Fragment参数

FragmentArg

Since AndroidAnnotations 2.7

@FragmentArg


The  @FragmentArg annotation indicates that a fragment  field should be injected with the corresponding  Fragment Argument.
  @FragmentArg  注解表明Fragment字段应该由相应的 Fragment Argument 注入。

The setter method in the generated builder will always have the same name as the argument. By default, the key used to bind the value is the field name, but you can change it by providing a value to the @FragmentArg annotation.
生成的构造器中的setter方法的命名会一直和参数一样。以往在默认情况下,键根据字段名绑定值,但是现在你可以通过提供一个值给 @FragmentArg   注解来改变这个现状。

Usage example:用例:

@EFragment
public class MyFragment extends Fragment {

  @FragmentArg("myStringArgument")
  String myMessage;

  @FragmentArg
  String anotherStringArgument;
        
  @FragmentArg("myDateExtra")
  Date myDateArgumentWithDefaultValue = new Date();

}

The fragment builder will hold dedicated methods for these arguments:
Fragment构造器对这些参数提供了专门的方法:

MyFragment myFragment = MyFragment_.builder()
  .myMessage("Hello")
  .anotherStringArgument("World")
  .build();

本文档的简单示例下载

本例子仅改写android Master/Detail Flow模板项目
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误通常是由于构造函不存在或参数不匹配引起的。可能是您的代码中使用了错误的构造函参数,或者您的依赖项中的类发生了更改,导致构造函不再存在或参数不再匹配。建议检查您的代码和依赖项,并确保使用正确的构造函参数。 ### 回答2: 错误注入构造函 (Error injecting constructor) 是指在使用依赖注入的过程中,因为某个类的构造函参数或依赖项注入出错导致的异常。这个错误可能由多种原因造成,比如依赖项不存在、类型不匹配等。 Java.lang.nosuchmethoderror 是 Java 中的一个异常类型,表示当前类或接口中不存在要调用的方法或构造函。这个错误通常都是在运行时才会出现,因为它是针对方法调用的错误。 两者联合出现的情况通常是在使用依赖注入的过程中,容器在创建对象时调用了不存在的构造函,或者在构造函中调用了不存在的方法。这时候,就需要检查代码中的依赖项和构造函,找到并修复其中的错误,才能解决这个问题。 解决方法包括: 1. 检查构造函参数和依赖项是否正确配置; 2. 检查使用的容器或框架是否能正确解析依赖关系; 3. 确认类或接口中是否存在要调用的方法或构造函; 4. 确认代码是否正确使用了注解或配置文件等,并且没有产生冲突。 总之,这两个问题都需要我们仔细检查代码并修复错误,只有这样才能让程序正常运行。 ### 回答3: “error injecting constructor, java.lang.nosuchmethoderror” 是Java开发中一个常见的错误,通常发生在使用Spring框架进行依赖注入时。 这个错误提示显示了一个构造函注入错误,也就是说,Spring无法找到所需的构造函。如果一个类中有多个构造函,Spring需要知道应该使用哪个构造函进行注入。而如果你没有告诉Spring,它就会在使用中抛出此错误。 除了构造函注入错误,这个错误提示也经常和“java.lang.nosuchmethoderror”一起出现。这意味着在你的代码中存在一个没有找到的方法,通常是由于代码中使用了Java类库的一个过期方法或版本不兼容的问题。 解决这个错误,有几个常见的方法: 1. 检查代码中的注入依赖是否设置正确。在代码中手动注入依赖是一种可选的方案,如果没有正确设置注入的依赖,就会出现这个错误。检查你的代码中是否确实需要手动注入依赖,也看看你的注入代码是否正确设置。 2. 确保Spring所需的库已经正常加载。在使用Spring框架时,你需要正确地加载Spring所需的库。在或许的情况下,类库的版本可能不兼容或过期,这会导致异常。更改或更新所需的库可以解决问题。 3. 检查你的Spring配置文件是否正确。在Spring配置文件中使用注入可以帮助你指定要使用的构造函。如果你的配置文件中有错误,就会出现错误提示。确保你的配置文件中没有错误或拼写错误。 这些是解决“error injecting constructor, java.lang.nosuchmethoderror”错误的常用方法。如果仍然有问题,需要进一步调试和检查。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值