监听
来源:互联网 发布:淘宝店铺装修尺寸 编辑:程序博客网 时间:2024/06/05 17:24
长按监听
需要实现OnLongClickListener接口
private OnLongClickListener mLongClick = new OnLongClickListener() { @Override public boolean onLongClick(View v) { tvShow.setText("按钮被长按了"); //false表示不拦截事件 //true表示拦截事件 return true; }};
注意onLongClick的返回值,false不拦截事件,true拦截事件
通过视图的setOnLongClickListener来设置监听
btn1.setOnLongClickListener(mLongClick);
Logcat的使用
主要有5个等级的信息打印
Log.v(tag,msg) 最全的详细日志Log.d(tab,msg) debug级别的打印Log.i(tab,msg) info级别Log.w(tab,msg) warn级别Log.e(tab,msg) error级别的打印
如果需要导出机器中的日志可以使用adb指令
adb logcat -v time>D:\log201704201032.txt
停止打印用Ctrl+C
EditText
android:inputType="textPassword"设置输入类型,帮助输入法显示合适的键盘类型android:maxLength="5" 最大的宽度有多少个字符,宽必须是wrap_contentandroid:ems="5"多少个字符的宽度android:hint="@string/et_hint"输入框提示
设置输入的光标位置
et.setSelection(index); 设置输入位置.起始光标和结束光标位置一样
监听键盘的Enter键
et.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if(v.getId() == R.id.et1){ Log.e("m_tag","输入框输入完毕"); } Log.e("m_tag",event.getKeyCode()+"===="+v.getText()); //处理Enter按下之后的逻辑 return false; } });
内容的处理
Editable str = et.getText(); str.append("2"); str.insert(where, text) s.delete(start, end);
监听文本变化
// 监听输入的内容变化情况 et.addTextChangedListener(new TextWatcher() { //改变中 @Override public void onTextChanged(CharSequence s, int start, int before, int count) { Log.e("m_tag", "onTextChanged:" + s); } //改变前 @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { Log.e("m_tag", "beforeTextChanged:" + s); } //改变后 @Override public void afterTextChanged(Editable s) { Log.e("m_tag", "afterTextChanged:" + s); if (s.length() > 6) { s.delete(6, s.length()); } } });
单选按钮和多选按钮
android:checked="true"设置默认选中状态 true为选中 false不选中android:button="按钮资源" 可以控制选择框前面的按钮 android:button="@null" 表示去掉前面的按钮
CheckBox xml中: <CheckBox android:id="@+id/ch_moves" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="false" android:text="看电影" /> java中可以监听选择变化 /** * 选择框变化的监听器(单个选择框) */ private CompoundButton.OnCheckedChangeListener onCkeckChange = new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { list.add(buttonView.getText().toString()); setTitle(buttonView.getText() + "被选中"); } else { list.remove(buttonView.getText().toString()); setTitle(buttonView.getText() + "被取消选中"); } } };
设置监听((CheckBox) findViewById(R.id.ch_moves)).setOnCheckedChangeListener(onCkeckChange);
RadioButton和RadioGroup,RadioGroup继承自LinearLayout
<RadioGroup android:id="@+id/sex_group" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <RadioButton android:id="@+id/r_man" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男" /> <RadioButton android:id="@+id/r_woman" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女" /> </RadioGroup>
在java中可以监听选择变化
private RadioGroup.OnCheckedChangeListener onGroupCheckChange = new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { RadioButton btn = (RadioButton) findViewById(checkedId); setTitle("选中了:"+btn.getText()); } };
sexGroup = (RadioGroup) findViewById(R.id.sex_group); sexGroup.setOnCheckedChangeListener(onGroupCheckChange);获取结果 int id = sexGroup.getCheckedRadioButtonId();清除所有的选中状态 sexGroup.clearCheck();
0 0
- 监听
- 监听
- 监听
- 监听
- android监听全局监听
- Socket监听 /TcpListener监听/HttpListener 监听
- session监听
- session监听
- session监听
- Servlet监听
- 事件监听
- 监听网络地址
- ORACLE监听
- 载波监听
- 事件监听
- 电话监听
- orcle监听
- radioGroup监听
- Redis集群搭建与简单使用
- android记事本开发后记
- angular directive
- jquery函数
- 求一个数组的最大公约数
- 监听
- 常用正则表达式
- 504. Base 7
- QT数据库连接必备QSqlDatabase
- Camtasia Studio 9.0.3 中文汉化版安装教程(屏幕录像软件)
- 第十一章:DOM扩展
- Spark ConfigEntry
- 欢迎使用CSDN-markdown编辑器
- iOS项目代码行数统计