Android学习笔记(15)————android工程中新建Class注意事项
/********************************************************************************************
* 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));
更多相关文章
- NPM 和webpack 的基础使用
- 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
- Android(安卓)Spinner控件详解
- android学习笔记14:时钟控件
- android volley 上传文件
- Android(安卓)VideoView播放视频
- Android文件下载
- Android(安卓)密度转换 java文件
- Android(安卓)自定义ToolBar