// 连续点击7次
final static int COUNTS = 7;// 点击次数
final static long DURATION = 4000;// 规定有效时间
long[] mHits = new long[COUNTS];
// 连续点击7次
private void continuousClick(int count, long time) {
System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);// 每次点击时,数组向前移动一位
mHits[mHits.length - 1] = SystemClock.uptimeMillis();// 为数组最后一位赋值
if (mHits[0] >= (SystemClock.uptimeMillis() - DURATION)) {
mLog.d("--------- 1 ---------");
mHits = new long[COUNTS];//重新初始化数组
showChangeBaseUrlDialog();
} else {
mLog.d("--------- 2 ---------");
}
}
// 按钮的点击事件
tvTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
continuousClick(COUNTS, DURATION);
}
});
// 修改网络请求地址dialog
private void showChangeBaseUrlDialog() {
AlertDialog.Builder customizeDialog = new AlertDialog.Builder(mActivity);
final View dialogView = LayoutInflater.from(mActivity).inflate(R.layout.dialog_change_base_url, null);
EditText etTitle = dialogView.findViewById(R.id.etTitle);
etTitle.setText(mUrlManager.urlArr[0]);
etTitle.setSelection(etTitle.getText().toString().length());
customizeDialog.setTitle("修改网络请求地址: BaseUrl");
customizeDialog.setView(dialogView);
customizeDialog.setCancelable(false);
customizeDialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mUrlManager.urlArr[0] = etTitle.getText().toString().trim();
}
});
customizeDialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
customizeDialog.show();
}
// dialog布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/etTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="sdfsdfsdfdsf"
android:background="@null"
android:gravity="center_vertical"
android:minLines="3"
android:textStyle="bold"
android:padding="20dp"
android:textColor="#009688"
android:textSize="16sp" />
</LinearLayout>
// 音量按钮的触发事件
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
showChangeBaseUrlDialog();
return true;
} else {
return super.dispatchKeyEvent(event);
}
}
// 退出程序二次确认
@Override
public void onBackPressed() {
long secondTime = System.currentTimeMillis();// 以毫秒为单位
if (secondTime - firstTime > 2000) {
firstTime = secondTime;
Toast.makeText(this, "再按一次返回退出程序", Toast.LENGTH_SHORT).show();
} else {
finish();
System.exit(0);
}
}