我们想在下面的代码中用Snackbar替换这个Toast
我尝试了各种配置,结果很接近但没有奖品
我的最佳配置不会接受make Snackbar中的LENGTH_SHORT
有人可以解释释放Snackbar代码的位置,以及为什么LENGTH_SHORT
不被接受?
private void addListenerOnButton_ADD() {
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(ETinput.getText().length()==0){
Toast.makeText(MainActivity.this,"Enter a Value",Toast.LENGTH_SHORT).show();
// REMOVE THIS Toast and insert Snackbar
//======================================
return;
}
......
}
});
}
这是编辑
private void addListenerOnButton_ADD(final AlteredCharSequence Snackbar) {
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(ETinput.getText().length()==0){
Toast.makeText(MainActivity.this,"Enter a Value",Toast.LENGTH_SHORT).show();
// REMOVE THIS Toast and insert Snackbar
//======================================
Snackbar.make(findViewById(android.R.id.content), "Had a snack at Snackbar", Snackbar.LENGTH_LONG)
.setActionTextColor( Color.RED)
.show();
return;
}
int Y = Integer.valueOf(ETinput.getText().toString().trim());
int Z = Y + X;
ETans.setText(String.valueOf(Z));
//float Y = Float.valueOf(ETinput.getText().toString().trim());
//float Z = Y + X;
//ETans.setText(String.valueOf(Z));
}
});
}
答案 0 :(得分:1)
使用view
中的setOnClickListener
作为Snackbar.make
方法的第一个参数:
private void addListenerOnButton_ADD(final AlteredCharSequence Snackbar) {
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(ETinput.getText().length()==0){
Snackbar.make(view, "Enter a Value", Snackbar.LENGTH_SHORT).setAction("Action", null).show();
return;
}
int Y = Integer.valueOf(ETinput.getText().toString().trim());
int Z = Y + X;
ETans.setText(String.valueOf(Z));
//float Y = Float.valueOf(ETinput.getText().toString().trim());
//float Z = Y + X;
//ETans.setText(String.valueOf(Z));
}
});
}
答案 1 :(得分:0)
使用此
Snackbar snackbar;
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
snackbar = Snackbar.make(view, "Enter a Value", Snackbar.LENGTH_LONG);
if(ETinput.getText().length()==0){
snackbar.show();
return;
}
......
}
});
}
如果您想要持续时间INDEFINITE,并且只想使用Snackbar.LENGTH_INDEFINITE
snackbar.dismiss();