六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 49|回复: 0

EditText不可编辑

[复制链接]

升级  82%

292

主题

292

主题

292

主题

进士

Rank: 4

积分
910
 楼主| 发表于 2013-1-15 02:30:40 | 显示全部楼层 |阅读模式
如果让EditText不可编辑在xml实现很简单android:editable 可是在代码中却没有setEditable
只能使用
editText.setFilters(new InputFilter[] { new InputFilter() {
 @Override
 public CharSequence filter(CharSequence source, int start,
  int end, Spanned dest, int dstart, int dend) {
   return source.length() < 1 ? dest.subSequence(dstart, dend) : "";
 }
} });
 
import android.app.Activity;import android.os.Bundle;import android.text.InputFilter;import android.text.Spanned;import android.view.View;import android.widget.Button;import android.widget.EditText;/** * Class which shows how to lock and unlock EditText component * * @author FaYnaSoft Labs */public class Main extends Activity {private EditText editText;private boolean value = false;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);editText = (EditText) findViewById(R.id.textId);editText.setText("EditText component");Button b = (Button) findViewById(R.id.btnId);b.setText("Lock/Unlock");b.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (value) {value = false;} else {value = true;}lockUnlock(value);}});}/** * Method which locks and unlocks editText component * @param value our boolean value which using in or if operator */private void lockUnlock(boolean value) {if (value) {editText.setFilters(new InputFilter[] { new InputFilter() {@Overridepublic CharSequence filter(CharSequence source, int start,int end, Spanned dest, int dstart, int dend) {return source.length() < 1 ? dest.subSequence(dstart, dend): "";}} });} else {editText.setFilters(new InputFilter[] { new InputFilter() {@Overridepublic CharSequence filter(CharSequence source, int start,int end, Spanned dest, int dstart, int dend) {return null;}} });}}} 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表