【发布时间】:2019-07-28 18:49:19
【问题描述】:
我想在点击时植入 toast 消息,但它应该在多次点击后显示,就像我们点击内部版本号 7 次以启用开发者选项一样。
我的意思是 toast 消息应该只在多次点击后显示,比如当我们点击 3,4 或 5 次时。 Toast 不应在第一次单击时显示。
【问题讨论】:
标签: java android kotlin android-toast
我想在点击时植入 toast 消息,但它应该在多次点击后显示,就像我们点击内部版本号 7 次以启用开发者选项一样。
我的意思是 toast 消息应该只在多次点击后显示,比如当我们点击 3,4 或 5 次时。 Toast 不应在第一次单击时显示。
【问题讨论】:
标签: java android kotlin android-toast
只需要做,初始化一个变量 i=0,每次点击时增加变量 i++,检查变量 i == 5 的时间,然后显示 toast 消息。如果您希望应用记住刚刚放入 sharedpref 文件中的值。 下面是java(android)的代码 这里
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
int i;
Button btn;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
i = 0;
btn = (Button) findViewById(R.id.button);
btn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (v == btn) {
i++;
if(i == 5) //assuming you want click to be five times
{
Toast.makeText(MainActivity.this,
"your Message", Toast.LENGTH_LONG)
.show();
} else{
int j =5-i;
Toast.makeText(MainActivity.this,
"you are"+j+"steps away", Toast.LENGTH_LONG)
.show();
}
}
}
}
【讨论】:
只需跟踪您的视图被点击的次数,并仅在值超过某个点时打印 toast,
class MainActivity : AppCompatActivity() {
var clickCount = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
button.setOnClickListener {
clickCount++
if (clickCount > 2) {
Toast.makeText(this, "Your text", Toast.LENGTH_SHORT).show()
}
}
}
}
【讨论】: