Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android自定义复合视图,如何重用属性?_Android - Fatal编程技术网

Android自定义复合视图,如何重用属性?

Android自定义复合视图,如何重用属性?,android,Android,您好,我创建了这个复合视图,它包含一个文本视图(用于显示错误或建议)和一个编辑文本(用于输入) 我的问题是如何使用已经存在的属性?我不想重新创建它们 请帮助我,谢谢你的阅读 编辑1 我的复合视图扩展了线性布局我猜你说的是自定义视图 但是,您应该在attrs.xml中声明styleable,并像这样使用它: <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name=

您好,我创建了这个复合视图,它包含一个文本视图(用于显示错误或建议)和一个编辑文本(用于输入)

我的问题是如何使用已经存在的属性?我不想重新创建它们

请帮助我,谢谢你的阅读

编辑1
我的复合视图扩展了线性布局

我猜你说的是
自定义视图

但是,您应该在
attrs.xml
中声明styleable,并像这样使用它:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="ValidationInputField">
        <attr name="android:hint"/>
        <attr name="android:inputType"/>            
    </declare-styleable>
</resources>
    if(attrs != null){
                TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.ValidationInputField);
                String hint = a.getString(R.styleable.ValidationInputField_android_hint);
                 int inputType = a.getInt(R.styleable.ValidationInputField_android_inputType,0);
                // set these two values in your EditText programmatically   
                EditText editText  = (EditText) findViewById(R.id.inputField);
               editText.setHint(hint);
               editText.setInputType(inputType);
                a.recycle();
                }
 if(attrs != null){
            TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.???);
            a.recycle();
        }
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="ValidationInputField">
        <attr name="android:hint"/>
        <attr name="android:inputType"/>            
    </declare-styleable>
</resources>
    if(attrs != null){
                TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.ValidationInputField);
                String hint = a.getString(R.styleable.ValidationInputField_android_hint);
                 int inputType = a.getInt(R.styleable.ValidationInputField_android_inputType,0);
                // set these two values in your EditText programmatically   
                EditText editText  = (EditText) findViewById(R.id.inputField);
               editText.setHint(hint);
               editText.setInputType(inputType);
                a.recycle();
                }