/********************************************************************************************
* author:conowen@大钟
* E-mail:conowen@hotmail.com
* http://blog.csdn.net/conowen
* 注:本文为原创,仅作为学习交流使用,转载请标明作者及出处。

********************************************************************************************/


有时候为了代码更加清晰明了,需要在一个新的java文档中新建一个class文件(不是继承activity的),但是新建的这个class文件需要用到在main.xml文件定义好的控件之类的,这样的话,可以在新建的class文件中,复写这个控件的构造函数(constructor)即可。


步骤:(举个例子)

1、先在class里面定义好新建的控件或者变量

AutoCompleteTextView autoinput = null;Context ct=null;


2、然后在新建的class文件中,右键------>source-------->Generate Constructor using Fields。选择需要构造的变量或者控件


public MyTextWatcher(Context ct, AutoCompleteTextView autoinput) {super();this.ct = ct;this.autoinput = autoinput;}

3、这样就可以用这些控件了。因为新建的class文件不是继承与activity,没有设定布局文件,当然就不能通过findviewbyid来找寻控件了,所以要通过这种方法。


4、另外代码中构造的

Context ct=null;
是Context类型。

如构建ArrayAdapter时,第一个参数为Context,若是在activity中,可以为this,但是在新建的class中,没有继承activity,所以要通过构造方法,构建一个Context ct。

ArrayAdapter<String> adapter = new ArrayAdapter<String>(ct,android.R.layout.simple_dropdown_item_1line, str);


5、调用这个类的时候,在原来的activity中,如下调用即可。参数即为两个需要在新建class中构造的参数。为context和AutoCompleteTextView类型。MyTextWatcher为新建class的类名。

autoinput.addTextChangedListener(new MyTextWatcher(MyDictionaryActivity.this,autoinput));





更多相关文章

  1. NPM 和webpack 的基础使用
  2. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  3. Android(安卓)Spinner控件详解
  4. android学习笔记14:时钟控件
  5. android volley 上传文件
  6. Android(安卓)VideoView播放视频
  7. Android文件下载
  8. Android(安卓)密度转换 java文件
  9. Android(安卓)自定义ToolBar

随机推荐

  1. 在eclipse里卸载已安装的插件[例如Androi
  2. GreenDao 3.3.0 增删改查的使用(三)
  3. Android(安卓)Room牛刀小试
  4. Android(安卓)流式布局
  5. Android(安卓)常见Action
  6. 提高android gradle构建速度的努力
  7. Android(安卓)多语言支持
  8. android 9.png图片原理及制作
  9. android gallery3d 源码分析(一)
  10. Android(安卓)x86模拟器Intel Atom x86 S