我已经开始使用android编程了,我正在尝试:
对于最后一部分,问题是我有TextView
默认的隐藏可见性。我想让它在几秒钟内可见,让它消失。
This帖子和this帖子有所帮助,但他们基本上是在尝试相反的做法。
我的代码如下:
submitButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Check the validity of the user name.
if (valid) {
// Let the user log in.
} else {
// Make TextView visible for a few seconds.
}
}
});
我该怎么做?
答案 0 :(得分:2)
首先,您需要显示TextView,然后将其设为INVISIBLE
。
使用textView.postDelayed方法:
if(valid){ //let the user login }
else
{
// make TextView visible here
textView.setVisibility(View.VISIBLE);
//use postDelayed to hide TextView
textView.postDelayed(new Runnable() {
public void run() {
textView.setVisibility(View.INVISIBLE);
}
}, 3000);
//how to make the textview visible for a few seconds
}
答案 1 :(得分:1)
要显示任何信息或错误消息,您可以使用小弹出消息一段时间。遵循吐司的代码和图像。
//display in short period of time
Toast.makeText(getApplicationContext(), "msg msg", Toast.LENGTH_SHORT).show();
答案 2 :(得分:1)
你可以使用吐司。
Context context = getApplicationContext();
CharSequence text = "Hello toast!";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
答案 3 :(得分:1)
试试这个
mButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mTextView.setVisibility(View.VISIBLE);
v.postDelayed(new Runnable() {
@Override
public void run() {
mTextView.setVisibility(View.GONE);
}
}, 2000);
}
});
答案 4 :(得分:1)
你可以在timertask的帮助下实现这一点,因为你的textview首先是不可见的,然后在timertask的帮助下让它再次隐形
submitButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//check the validity of the user name
if(valid)
{
//let the user login
}
else
{
txt.setVisibility(View.VISIBLE);
Timer t = new Timer(false);
t.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
public void run() {
txt.setVisibility(View.INVISIBLE);
}
});
}
}, 5000);
}
});
但我建议如果你想在alertdialog或totast中显示错误的用户确认显示错误
答案 5 :(得分:1)
您可以使用处理程序执行此操作。
submitButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//check the validity of the user name
if(valid)
{
//let the user login
}
else
{
//how to make the textview visible for a few seconds
new Handler().postDelayed(new Runnable()
{
@Override
public void run()
{
mTextView.setVisibility(View.VISIBLE);
}
}, 1000/* 1sec delay */);
}
});