我已經創建了一個基於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);
}
}
感謝。
第一個變體必須工作。你有沒有在代碼中輸入錯字? ' '而不是' '? –
2010-10-13 12:30:55
Ups,固定。謝謝。 – 2010-10-13 12:37:11
現在程序有效嗎? – 2010-10-13 12:41:22