我在我的活动中有5个按钮在一个线性布局中。我已经编写了一段代码,当我单击其中一个按钮时,会显示一条敬酒消息。它在6秒的单击操作后显示toast消息。我想不出问题是什么..以下是我在android studio中编写的代码
public class HomePage extends AppCompatActivity implements View.OnClickListener {
private Button loginButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_page);
makeNotificationBarTransparent();
loginButton = (Button)findViewById(R.id.login_btn);
loginButton.setOnClickListener(this);
Intent i = getIntent();
Toast.makeText(getApplicationContext(),i.getStringExtra("UserName"),Toast.LENGTH_LONG).show();
}
private void makeNotificationBarTransparent() {
//Making notification bar transparent
if(Build.VERSION.SDK_INT >= 21){
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.TRANSPARENT);
}
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.login_btn:
Toast.makeText(getApplicationContext(),"CLicked",Toast.LENGTH_LONG).show();
break;
}
}
}谁能告诉我问题出在哪里?
发布于 2016-07-18 04:59:30
这可能是因为您显示了设置为显示的另一条toast消息,因为两条toast消息不能同时显示。
我指的是这条吐司信息:
Toast.makeText(getApplicationContext(),i.getStringExtra("UserName"),Toast.LENGTH_LONG).show();发布于 2016-07-18 05:17:51
你的意思是按下按钮6秒后就会显示Toast消息?尝试使用以下命令:
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
// show toast here...
}
}, 6000); // 6 seconds或者,您可以使用CountDownTimer:
new CountDownTimer(6000, 1000) {
public void onTick(long millisUntilFinished) {
// do every 1 second
}
public void onFinish() {
// show your toast after 6 seconds.
}
}.start();这是你需要的吗?如果没有,请告诉我更多关于您的问题:)
https://stackoverflow.com/questions/38425807
复制相似问题