单击android中切换Textview颜色

时间:2016-02-02 14:08:48

标签: android colors onclick toggle

我正在开发我的第一个Android应用程序,它是一个非常基本的待办事项列表应用程序。 我使用SQLite数据库来存储任务。添加的任务将显示在主要活动中。

我希望用户能够点击任何任务来完成标记,因此任务必须将其颜色更改为红色。

如果用户再次点击相同的任务,它应该恢复为原始颜色。

我试图像这样添加一个onclick监听器:

 public void onTaskDone(View view){
        view.setTextColor(Color.RED);
    }

但是setTextColor方法显示为红色(这意味着它不能像这样完成)。

请帮助!!

4 个答案:

答案 0 :(得分:2)

您可以通过添加onclick Listener来实现此目的,并且您可以更改文本颜色

  tvStatus.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(tvStatus.getCurrentTextColor()==Color.BLACK)
                    tvStatus.setTextColor(Color.RED);   
                }else{
                    tvStatus.setTextColor(Color.BLACK);
                }

            }
        });

答案 1 :(得分:1)

API functions

答案 2 :(得分:0)

 boolean isSelected =false;
    public void onTaskDone(TextView view){
        view.setTextColor(isSelected?Color.BLACK:Color.RED);
        isSelected = !isSelected;

    }

答案 3 :(得分:0)

在单个textview单击侦听器中,我们可以更改颜色,如下所示。i具有适配器类,我想单击特定位置,textview在单击时需要更改颜色。...

holder.statusText.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View v) {
           if (holder.statusText.getCurrentTextColor() == context.getResources().getColor(R.color.colorSkyBlue)) {
               holder.statusText.setTextColor(Color.BLACK);

           } else {
               holder.statusText.setTextColor(context.getResources().getColor(R.color.colorSkyBlue));

           }
       }
   });

它真的对我有用。