Android:TextView可见性更改

时间:2015-01-16 05:07:49

标签: android user-interface textview visibility

我已经开始使用android编程了,我正在尝试:

  1. 让用户输入他们的登录凭证。
  2. 如果用户登录凭据有效,请让他们登录。
  3. 如果登录凭据无效,请提供错误消息,说明输入的用户名或密码无效。
  4. 对于最后一部分,问题是我有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.
           }
        }
     });
    

    我该怎么做?

6 个答案:

答案 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();

enter image description here

答案 2 :(得分:1)

你可以使用吐司。

Context context = getApplicationContext();
CharSequence text = "Hello toast!";
int duration = Toast.LENGTH_SHORT;

Toast toast = Toast.makeText(context, text, duration);
toast.show();

Toasts in android

答案 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 */);
    }
});
相关问题