一键多用
one Button for multiple thing
我只想实现一个按钮来执行多个操作,例如第一次单击使 Textview1 可见,第二次单击使 Textview2 可见等等。
这是我的代码它可以工作但是我只想在一个按钮中设置更多可见组件我希望它清楚并感谢任何帮助
final TextView textView_r4 = findViewById(R.id.tv_r4);
final EditText editText_r4 = findViewById(R.id.input_R4);
final TextView textView_r5 = findViewById(R.id.tv_r5);
final EditText editText_r5 = findViewById(R.id.input_R5);
findViewById(R.id.Addbtn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
textView_r4.setVisibility(View.VISIBLE);
editText_r4.setVisibility(View.VISIBLE);
}
});
findViewById(R.id.Addbtn).setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
textView_r5.setVisibility(View.VISIBLE);
editText_r5.setVisibility(View.VISIBLE);
return true;
}
});
您可以添加一个 enum
状态来跟踪您的按钮所处的状态。在相同的 class (activity) 中创建一个 class 字段这些方法都在,每次点击都会改变状态。然后在 .setOnClickListener
方法中,您可以检查按钮处于哪个状态,并根据该状态执行不同的操作。
private State state = INITIAL;
findViewById(R.id.Addbtn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (state) {
case INITIAL:
// do first action
state = State.CLICKED_ONCE;
break;
case CLICKED_ONCE:
// do second action
state = State.CLICKED_TWICE;
break;
default:
// clicked too many times, no action taken
break;
}
}
});
private enum State { INITIAL, CLICKED_ONCE, CLICKED_TWICE }
我只想实现一个按钮来执行多个操作,例如第一次单击使 Textview1 可见,第二次单击使 Textview2 可见等等。
这是我的代码它可以工作但是我只想在一个按钮中设置更多可见组件我希望它清楚并感谢任何帮助
final TextView textView_r4 = findViewById(R.id.tv_r4);
final EditText editText_r4 = findViewById(R.id.input_R4);
final TextView textView_r5 = findViewById(R.id.tv_r5);
final EditText editText_r5 = findViewById(R.id.input_R5);
findViewById(R.id.Addbtn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
textView_r4.setVisibility(View.VISIBLE);
editText_r4.setVisibility(View.VISIBLE);
}
});
findViewById(R.id.Addbtn).setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
textView_r5.setVisibility(View.VISIBLE);
editText_r5.setVisibility(View.VISIBLE);
return true;
}
});
您可以添加一个 enum
状态来跟踪您的按钮所处的状态。在相同的 class (activity) 中创建一个 class 字段这些方法都在,每次点击都会改变状态。然后在 .setOnClickListener
方法中,您可以检查按钮处于哪个状态,并根据该状态执行不同的操作。
private State state = INITIAL;
findViewById(R.id.Addbtn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (state) {
case INITIAL:
// do first action
state = State.CLICKED_ONCE;
break;
case CLICKED_ONCE:
// do second action
state = State.CLICKED_TWICE;
break;
default:
// clicked too many times, no action taken
break;
}
}
});
private enum State { INITIAL, CLICKED_ONCE, CLICKED_TWICE }