我已经基于linearLayout创建了一个自定义viewGroup.
ClearableEditText.java
package test.todoList;import androID.content.Context;import androID.vIEw.LayoutInflater;import androID.vIEw.VIEw;import androID.Widget.button;import androID.Widget.EditText;import androID.Widget.linearLayout;public class ClearableEditText extends linearLayout{ private EditText editText; private button button; public ClearableEditText (Context context){ super (context); String service = Context.LAYOUT_INFLATER_SERVICE; LayoutInflater li = (LayoutInflater)getContext ().getSystemService (service); li.inflate (R.layout.clearable_edit_text, this, true); editText = (EditText)findVIEwByID (R.ID.clearEditText); button = (button)findVIEwByID (R.ID.clearbutton); configbutton (); } private voID configbutton (){ button.setonClickListener (new button.OnClickListener (){ public voID onClick (VIEw v){ editText.setText (""); } }); }}
clearable_edit_text.xml
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:orIEntation="vertical" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content"> <EditText androID:ID="@+ID/clearEditText" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" /> <button androID:ID="@+ID/clearbutton" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:text="@string/clear" /></linearLayout>
我现在如何使用ClearableEditText?
我尝试通过2种方式将节点放入布局(main.xml)中:
<test.todoList.ClearableEditText/>
和
<test.todoList.clearable_edit_text/>
但他们都没有成功.
我的main.xml:
<?xml version="1.0" enCoding="utf-8"?><test.todoList.ClearableEditText/>
我的TodoList.java(主要活动):
package test.todoList;import androID.app.Activity;import androID.os.Bundle;public class TodoList extends Activity{ @OverrIDe public voID onCreate (Bundle savedInstanceState){ super.onCreate (savedInstanceState); setContentVIEw (R.layout.main); }}
谢谢.
解决方法:
解决了. main.xml应该类似于:
<?xml version="1.0" enCoding="utf-8"?><merge xmlns:androID="http://schemas.androID.com/apk/res/androID"> <test.todoList.ClearableEditText androID:layout_wIDth="match_parent" androID:layout_height="wrap_content"/></merge>
首先,合并标签,因为在使用自定义视图时需要它.我的自定义视图具有linearLayout根目录,因此如果我在main.xml中设置另一个linearLayout或FrameLayout根目录来使用我的自定义视图,效率较低.合并解决了这一问题.
其次,所有视图都必须具有layout_wIDth和layout_height属性.
总结以上是内存溢出为你收集整理的android-如何使用复合控件全部内容,希望文章能够帮你解决android-如何使用复合控件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)