当前位置:  编程技术>移动开发
本页文章导读:
    ▪应用其他版本的wml        使用其他版本的wml <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN""http://www.wapforum.org/DTD/wml13.dtd"><!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN""http://www.wapforum.org/DTD/wml12.dtd">我们打开http://www.wapfo.........
    ▪ 代码设立EditText不可编辑        代码设置EditText不可编辑 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.........
    ▪ 反照机访问属性值的代码       反射机访问属性值的代码 我们完全可以通过反射机制来修改一个对象的私有变量的值,由于该文章并不是讨论反射的的文章,所以这里只给出通过反射来修改私有变量值的代码,但并不作详.........

[1]应用其他版本的wml
    来源: 互联网  发布时间: 2014-02-18
使用其他版本的wml
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN"
"http://www.wapforum.org/DTD/wml13.dtd">

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

我们打开http://www.wapforum.org/DT目录,可以看到里面的链接。根据实际需要把dtd复制过来就可以了。

    
[2] 代码设立EditText不可编辑
    来源: 互联网  发布时间: 2014-02-18
代码设置EditText不可编辑
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;

	@Override
	public 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() {

			@Override
			public 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() {
				@Override
				public 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() {
				@Override
				public CharSequence filter(CharSequence source, int start,
						int end, Spanned dest, int dstart, int dend) {
					return null;
				}
			} });
		}
	}
}

    
[3] 反照机访问属性值的代码
    来源: 互联网  发布时间: 2014-02-18
反射机访问属性值的代码

我们完全可以通过反射机制来修改一个对象的私有变量的值,由于该文章并不是讨论反射的的文章,所以这里只给出通过反射来修改私有变量值的代码,但并不作详细的说明:

我们创建一个新的类,叫BeanUtils.java

类得内容看其来如下:


public class BeanUtils {

 

 

    private BeanUtils() {

    }

 

 

    /**

     * 直接设置对象属性值,无视private/protected修饰符,不经过setter函数.

     */

    public static void setFieldValue(final Object object, final String fieldName, final Object value) {

        Field field = getDeclaredField(object, fieldName);

 

        if (field == null)

            throw new IllegalArgumentException("Could not find field [" + fieldName + "] on target [" + object + "]");

 

        makeAccessible(field);

 

        try {

            field.set(object, value);

        } catch (IllegalAccessException e) {

        Log.e("zbkc", "", e);

        }

    }

 

    /**

     * 循环向上转型,获取对象的DeclaredField.

     */

    protected static Field getDeclaredField(final Object object, final String fieldName) {

        return getDeclaredField(object.getClass(), fieldName);

    }

 

    /**

     * 循环向上转型,获取类的DeclaredField.

     */

    @SuppressWarnings("unchecked")

    protected static Field getDeclaredField(final Class clazz, final String fieldName) {

        for (Class superClass = clazz; superClass != Object.class; superClass = superClass.getSuperclass()) {

            try {

                return superClass.getDeclaredField(fieldName);

            } catch (NoSuchFieldException e) {

                // Field不在当前类定义,继续向上转型

            }

        }

        return null;

    }

 

    /**

     * 强制转换fileld可访问.

     */

    protected static void makeAccessible(Field field) {

        if (!Modifier.isPublic(field.getModifiers()) || !Modifier.isPublic(field.getDeclaringClass().getModifiers())) {

            field.setAccessible(true);

        }

    }

}


该工具提供一个共有的方法:public static void setFieldValue(final Object object, final String fieldName, final Object value)来修改一个对象的私有变量的值。


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3