package liyuanqi.bwie.com.zhuheshikongjian;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
ZuHe zuhe;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
zuhe =findViewById(R.id.zuhe);
zuhe.duidiaoData(new ZuHe.onUpdate() {
@Override
public void data(int values) {
Toast.makeText(MainActivity.this,values+"",Toast.LENGTH_SHORT).show();
}
});
}
}
package liyuanqi.bwie.com.zhuheshikongjian;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
public class ZuHe extends FrameLayout implements View.OnClickListener {
private TextView mShu;
private ImageView mjian;
private ImageView madd;
private int value=0;
public ZuHe(@NonNull Context context) {
super(context,null);
}
public ZuHe(@NonNull Context context, @Nullable AttributeSet attrs) {
super(context, attrs,0);
initView(context);
value = initValue();
setValue(value);
mjian.setOnClickListener(this);
madd.setOnClickListener(this);
}
public ZuHe(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.jian:
subnumber();
break;
case R.id.zheng:
addnumber();
break;
}
}
private void subnumber() {
if (value>0){
value--;
}
setValue(value);
mOnUpdate.data(value);
}
private void addnumber() {
if (value<10){
value++;
}
setValue(value);
mOnUpdate.data(value);
}
private void initView(Context context) {
View inflate = View.inflate(context, R.layout.kongjiang, this);
mShu = inflate.findViewById(R.id.shu);
mjian = inflate.findViewById(R.id.jian);
madd = inflate.findViewById(R.id.zheng);
}
private int initValue() {
String trim = mShu.getText().toString().trim();
int zhi=0;
if (!TextUtils.isEmpty(trim)){
zhi= Integer.parseInt(trim);
}
return zhi;
}
public void setValue(int value) {
mShu.setText(value+"");
}
public interface onUpdate{
void data(int values);
}
private onUpdate mOnUpdate;
public void duidiaoData(onUpdate update){
mOnUpdate =update;
}
}
<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android=“http://schemas.android.com/apk/res/android”
xmlns:app=“http://schemas.android.com/apk/res-auto”
xmlns:tools=“http://schemas.android.com/tools”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
tools:context=".MainActivity">
<liyuanqi.bwie.com.zhuheshikongjian.ZuHe
android:id="@+id/zuhe"
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”></liyuanqi.bwie.com.zhuheshikongjian.ZuHe>
</android.support.constraint.ConstraintLayout>
<?xml version="1.0" encoding="utf-8"?><ImageView
android:id="@+id/jian"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/goods_sub_btn"/>
<TextView
android:id="@+id/shu"
android:layout_width="50dp"
android:layout_height="50dp"
android:gravity="center"
android:text="1"
android:textColor="@android:color/black"
android:textSize="20dp"
/>
<ImageView
android:id="@+id/zheng"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/goods_add_btn"/>