android EditText里面嵌入两个按钮,通过按钮可以加减EditText里的数字,组合自定义控件。

设计一个自定义组合控件。它的功能,通过两个按钮分别增加、减小EditText里面的数字。效果图如下:

实现代码:

/************** /src/com.lxy/AppMain.java ***************/

package com.lxy;

import android.app.Activity;
import android.os.Bundle;

public class AppMain extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}


/**************  /src/com.lxy/MyEditText.java **************/

package com.lxy;

import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;

public class MyEditText extends LinearLayout{

    private EditText mEditText;
    private Button bAdd;
    private Button bReduce;
    
    //这里的构造一定是两个参数。
    public MyEditText(final Context ctxt, AttributeSet attrs) {
        super(ctxt,attrs);
    }


    protected void onFinishInflate() {
        super.onFinishInflate();
        
        LayoutInflater.from(getContext()).inflate(R.layout.myedittext, this);
        init_widget();
        addListener();
        
    }
    
    public void init_widget(){
        
        
        mEditText = (EditText)findViewById(R.id.et01);
        bAdd = (Button)findViewById(R.id.bt01);
        bReduce = (Button)findViewById(R.id.bt02);
        mEditText.setText("1");
    }
    
    public void addListener(){
        bAdd.setOnClickListener(new OnClickListener() {
            
            public void onClick(View v) {
                // TODO Auto-generated method stub
                
                int num = Integer.valueOf(mEditText.getText().toString());
                num++;
                mEditText.setText(Integer.toString(num));
            }
        });
        
        bReduce.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                int num = Integer.valueOf(mEditText.getText().toString());
                num--;
                mEditText.setText(Integer.toString(num));
            }
        });
    }
}

/************  /res/layout/main.xml  *************/



    
    
    
    
    

/**********  /res/layout/myedittext.xml  ***********/

    
    
    
    


你可能感兴趣的:(android)