欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新

自定义数字加减控件,自定义数字控件

来源: 开发者 投稿于  被查看 45747 次 评论:164

自定义数字加减控件,自定义数字控件


1_自定义数字加减控件的要求

 创建Module -NumberAddSubView

A_输入的只能是数字,而且不能通过键盘输入

B_通过加减按钮操作数字

C_监听加减按钮

D_数组有最小值和最大值的限制

E_自定义属性

 

2.提供接口,让外界监听到数字的变化

1_设置接口

@Override
public void onClick(View v) {
	if (v.getId() == R.id.btn_sub) {
                //Toast.makeText(mContext,"减",Toast.LENGTH_SHORT).show();
		subNum();
		if (onButtonClickListenter != null) {
			onButtonClickListenter.onButtonSubClick(v, value);
		}
	} else if (v.getId() == R.id.btn_add) {
                //Toast.makeText(mContext,"加",Toast.LENGTH_SHORT).show();
		addNum();
		if (onButtonClickListenter != null) {
			onButtonClickListenter.onButtonAddClick(v, value);
		}
	}
}

public interface OnButtonClickListenter {
	/**
	 * 当增加按钮被点击的时候回调该方法
	 *
	 * @param view
	 * @param value
	 */
	public void onButtonAddClick(View view, int value);

	/**
	 * 当减少按钮被点击的时候回调这个方法
	 *
	 * @param view
	 * @param value
	 */
	public void onButtonSubClick(View view, int value);
}

private OnButtonClickListenter onButtonClickListenter;

public void setOnButtonClickListenter(OnButtonClickListenter onButtonClickListenter) {
	this.onButtonClickListenter = onButtonClickListenter;
}

2_监听变化

public class MainActivity extends AppCompatActivity {

    private NumberAddSubView nb_addsub_view;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        nb_addsub_view = (NumberAddSubView) findViewById(R.id.nb_addsub_view);

        nb_addsub_view.setOnButtonClickListenter(new NumberAddSubView.OnButtonClickListenter() {
            @Override
            public void onButtonAddClick(View view, int value) {
                Toast.makeText(MainActivity.this,"AddClick Vaule=="+value,Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onButtonSubClick(View view, int value) {
                Toast.makeText(MainActivity.this,"SubClick Vaule=="+value,Toast.LENGTH_SHORT).show();
            }
        });
    }
}

  

  

github完整代码:https://github.com/ganchuanpu/NumberAddSubView

用户评论