android eclipse 没有Annotation Processin ButterKnife在Eclipse的配置

因为要使用开源 androidannotations 注解,发现eclipse没有Annotation Processin

解决办法:

需要配置插件:http://download.eclipse.org/releases/juno

Annotation Processin

http://blog.csdn.net/vurtne_ye/article/details/38850529

工程中添加butterknife.jar后, 在执行代码时,发现注解不成功. 查阅相关文档后, 发现需要在eclipse中对butterknife进行相关的配置. 再次运行后,成功解决问题. 记录配置流程如下: 配置流程 Java代码 收藏代码 工程项目 - 右键 - 选择 properties - 选中 java C

工程中添加butterknife.jar后, 在执行代码时,发现注解不成功.

查阅相关文档后, 发现需要在eclipse中对butterknife进行相关的配置.

再次运行后,成功解决问题.

记录配置流程如下:

配置流程
    Java代码  收藏代码
        工程项目  
        -> 右键  
        -> 选择 properties  
        -> 选中 java Complier  
        -> 选中 Annotation Processing  
        -> 勾选 Enable project specific settings (勾选后,其他选项自动被勾选)  
        -> 选中 Factory Path  
        -> 勾选 Enable project specific settings  
        -> 点击 Add JARs   
        -> 添加 butterknife.jar

butterknife的使用

butterknife

让我们从繁琐的 findViewById  中解救出来。下面直接是使用方法

Activity

class ExampleActivity extends Activity {
  @InjectView(R.id.title) TextView title;
  @InjectView(R.id.subtitle) TextView subtitle;
  @InjectView(R.id.footer) TextView footer;

  @Override public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.simple_activity);
    ButterKnife.inject(this);
    // TODO Use "injected" views...
  }
}

Fragment  销毁的时候掉用  ButterKnife . reset ( this );

public class FancyFragment extends Fragment {
  @InjectView(R.id.button1) Button button1;
  @InjectView(R.id.button2) Button button2;

  @Override View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fancy_fragment, container, false);
    ButterKnife.inject(this, view);
    // TODO Use "injected" views...
    return view;
  }
}

adapter

public class MyAdapter extends BaseAdapter {
  @Override 
public View getView(int position, View view, ViewGroup parent) {
    ViewHolder holder;
    if (view != null) {
      holder = (ViewHolder) view.getTag();
    } else {
      view = inflater.inflate(R.layout.whatever, parent, false);
      holder = new ViewHolder(view);
      view.setTag(holder);
    }

    holder.name.setText("John Doe");
    // etc...

    return view;
  }

  static class ViewHolder {
    @InjectView(R.id.title) TextView name;
    @InjectView(R.id.job_title) TextView jobTitle;

    public ViewHolder(View view) {
      ButterKnife.inject(this, view);
    }
  }
}

VIEW LISTS

@InjectViews({ R.id.first_name, R.id.middle_name, R.id.last_name }) List<EditText> nameViews;

CLICK LISTENER INJECTION

@OnClick(R.id.submit)
 public void submit() {
   // TODO submit data to server...
 }
@OnClick(R.id.submit)
 public void sayHi(Button button) {
   button.setText("Hello!");
 }

还可以绑定多控件id

@OnClick({ R.id.door1, R.id.door2, R.id.door3 })
  public void pickDoor(DoorView door) {
   if (door.hasPrizeBehind()) {
        Toast.makeText(this, "You win!", LENGTH_SHORT).show();
   } else {
       Toast.makeText(this, "Try again", LENGTH_SHORT).show();
   }
  }

INJECTION RESET 销毁

 ButterKnife.reset(this);

默认情况下  @InjectView  and  @OnClick

找到控件都是不允许为空的,否则会抛异常。

可以添加  @Optional

允许为空

@Optional @InjectView(R.id.might_not_be_there) TextView mightNotBeThere;

    @Optional @OnClick(R.id.maybe_missing) void onMaybeMissingClicked() {
    // TODO ...
    }

http://www.tuicool.com/articles/VRruAfAhttp://www.it165.net/pro/html/201404/12375.html
时间: 2024-10-01 04:52:56

android eclipse 没有Annotation Processin ButterKnife在Eclipse的配置的相关文章

Android开发之ADT中无Annotation Processin的解决办法

使用ButterKnife的时候,进入ADT中设置的时候发现在Java Compiler展开后无Annotation Processin 解决办法: 安装插件:Juno - http://download.eclipse.org/releases/juno中的Eclipse Java Development Tools 安装方法: 1.Help->Install New Software 2.在 Work with 中选择 Juno - http://download.eclipse.org/r

Android 开发之开发插件使用:Eclipse 插件 SQLiteManger eclipse中查看数据内容--翻译

最近研究了一段时间Android开发后发现,google自带的ADT工具,缺失一些开发常用的东西,希望可以构建一个类似使用JAVA EE开发体系一样开发的工具包集合,包括前台开发,调试,到后台数据库的管理,到此,在网上逛了一遍发现这个一些常用的插件功能很强大,所以我决定做一系列翻译这些插件安装使用的教程,希望大家喜欢. 本文受益于这篇文章,所以决定翻译这篇文章中的一部分东西工具.19 个 Android 开发工具投递人 itwriter 发布于 2014-05-08 09:32 本文翻译:Ecl

Android官方开发文档之从Eclipse迁移到Android Studio开发篇

Android官方开发文档之从Eclipse迁移到Android Studio开发篇 1.前言 从Eclipse迁移项目到Android Studio需要适应一个新的项目结构,建立系统和IDE的功能.为了简化迁移过程,Android Studio提供了重要工具使你可以快速地将现有代码移动到Android Studio项目基础建设的文件和工具. 2.Android Studio的基础(Android Studio Basics) 当你将Eclipse项目迁移到Android Studio时,你应该

eclipse中无法新建Android工程 出现问题:Plug-in org.eclipse.ajdt.ui was unable to load

eclipse中打开后新建Android项目区仍无法创建,出现下列提示对话框: Plug-in org.eclipse.ajdt.ui was unable to load class org.eclipse.ajdt.internal.ui.ajde.CachedRuntimeClasspathEntryResolver. 百度原因后发现解决方法后:重新创建工作区就可以正常使用了.(本人没有执行 而是删除了eclipse里所有的工程后重启eclipse后就可以了.)但是本方法存在问题是后期还会

【Android】——studio学习系列(一) 从eclipse导入工程

Android google官方出的IDE android studio 一直都在走bate版本,虽然如此,总觉得它比ADT更加靠谱.所以我也想用studio来开发滴.可项目一直都是eclipse的,所以今天先把eclipse项目导入到studio. 1.更新最新的ADT插件  都会的 2. 选择Generate Gradle build files next >next > 选中要导出的项目>直到完成可以看到这个界面 这样就转换完成啦. 3.在Android Studio中导入此工程

【Android Studio(一)】从Eclipse迁移到Android Studio

接下来的重心会进行Android Studio官方关于Android Studio说明的系列文档的翻译. 假如你以前是用Eclipse进行开发,想迁移到Android Studio上.你需要导出你的工程,导出的目的是为了生成Gradle文件.然后将导出的工程导入Android Studio即可. 从Eclipse导出 1.更新你的Eclipcs的ADT插件(ADT的版本必须大于等于22.0) 2.在Eclipse中,选择Flie->Export 3.弹出的对话框中,点击Android并选择Gen

Eclipse反编译工具Jad及插件JadClipse配置(转)

Eclipse反编译工具Jad及插件JadClipse配置 Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不太方便.不过幸好有一个eclipse的插件JadClipse,二者结合可以方便的在eclipse中查看class文件的源代码.下面介绍一下配置:    A.下载JadClipse,http://jadclipse.sourceforge.net/wiki/index.php/Main_Page#Do

Eclipse反编译工具Jad及插件JadClipse配置

Jad是一个Java的一个反编译工 具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不太方便.不过幸好有一个eclipse的 插件JadClipse,二者结合可以方便的在eclipse中查看class文件的源代码. 1  下载Eclipse反编译工具Jad. 下载路径:  http://pan.baidu.com/s/1tOSO2 2 把下载包中的 net.sf.jadclipse_3.3.0.jar放入到 eclipse的安装目录下,..

2015/12/29 eclipse 设置要点 空间 项目 类 eclipse汉化

开始使用eclipse,双击eclipse.exe文件,启动eclipse.程序会显示一个工作空间的对话框,工作空间用来存放你的项目文件,你可以使用程序默认的,点击确定即可,你也可以重新选择一个文件夹来存放你的文件,那点击浏览,重新指定你的项目文件存放的目录: 10 进入eclipse.打开文件|新建|新建java项目,然后在项目名称一栏填写你的项目名称: 11 创建一个java类:文件菜单下打开“新建”,打开“新建类”,有两个地方需要填写,一是选择源文件夹,就是刚才你创建的hello worl