MainActivity方法
package com.bawie.jiajianqi;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity implements Myjiajian.ss{
private Myjiajian mMyjiajian;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//
initView();
}
private void initView() {
mMyjiajian = (Myjiajian) findViewById(R.id.Myjiajian);
//調用自定義view 中的自定義的公共方法
mMyjiajian.jiajian(this);
}
@Override
public void getcount(int count) {
}
}
Myjiajian新建方法繼承 FrameLayout
package com.bawie.jiajianqi;
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.Button;
import android.widget.EditText;
import android.widget.FrameLayout;
public class Myjiajian extends FrameLayout implements View.OnClickListener {
private ss ff;
private Button jian;
private EditText shu;
private Button jia;
//定義的一個公有的方法
public void jiajian(ss s) {
this.ff = s;
}
public Myjiajian(@NonNull Context context) {
this(context, null);
}
public Myjiajian(@NonNull Context context, @Nullable AttributeSet attrs) {
this(context, attrs, 0);
}
public Myjiajian(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
//加載自己定義的佈局
View view = View.inflate(context, R.layout.activity_myjiajian, this);
//獲取減按鈕並設置點擊事件
jian = view.findViewById(R.id.jian);
//設置減的監聽 點擊事件
jian.setOnClickListener(this);
//獲取EditText的控件
shu = view.findViewById(R.id.shu);
//獲取加按鈕並設置點擊事件
jia = view.findViewById(R.id.jia);
//設置加的監聽 點擊事件
jia.setOnClickListener(this);
}
//點擊事件
@Override
public void onClick(View view) {
switch (view.getId()) {
//減的方法
case R.id.jian:
//獲取EditText得值
int i = get();
//判斷i是否爲小於或等於0
if (i <= 0) {
//如果是小於或等於0就設置按鈕不可用
jian.setEnabled(false);
} else {
//如果不是小於或等於0就設置按鈕可用
jian.setEnabled(true);
//EditText的值 向--
i--;
//判斷i是否爲小於或等於0
if (i <= 0) {
//如果是小於或等於0就設置EditText的值=1
i = 1;
}
}
//給EditText賦值
shu.setText(i + "");
break;
//加的方法
case R.id.jia:
//獲取EditText得值
int i1 = get();
//判斷i是否爲小於或等於0
if (i1 <= 0) {
//如果是小於或等於0就設置按鈕不可用
jia.setEnabled(false);
} else {
//如果不是小於或等於0就設置按鈕可用
jia.setEnabled(true);
//EditText的值 向--
i1++;
}
//給EditText賦值
shu.setText(i1 + "");
break;
}
}
//獲取EditText的值的方法
public int get(){
int d = 0;
//獲取EditText的值
String s = shu.getText().toString();
if (TextUtils.isEmpty(s)){
d = 1;
}
return Integer.valueOf(s);
}
//自己定義的接口
interface ss{
public void getcount(int count);
}
}