按住按钮时,继续清除编辑文本中的文本

时间:2014-07-17 05:28:10

标签: android button textview

我有一个文本视图,用户可以使用我创建的自定义按钮在运行时输入数据。 我的删除按钮一次可以删除一个字符但是如果我按住按钮则会停止。 我希望当我按住按钮时文本字段被清除。 这有什么解决方案吗??? 请帮帮我。 这是我的xml,

<RelativeLayout
                android:id="@+id/btnClear"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_alignParentRight="true"
               >

                 <ImageView
                     android:id="@+id/imgClear"
                     android:layout_width="20dp"
                     android:layout_height="20dp"
                     android:layout_centerHorizontal="true"
                     android:layout_centerVertical="true"

                     android:src="@drawable/img_clear" />

                </RelativeLayout>

这是我的代码,

 imgClear.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                    String getNumber;

                    if(isFirstNum){

                        getNumber = txtFirstNumber.getText().toString();

                        if(getNumber.length() > 0)
                        txtFirstNumber.setText(getNumber.substring(0, getNumber.length()-1));



                    } else if(!isFirstNum){

                        getNumber = txtSecondNumber.getText().toString();

                        if(getNumber.length() > 0)
                            txtSecondNumber.setText(getNumber.substring(0, getNumber.length()-1));

                    }



                }
            });

2 个答案:

答案 0 :(得分:0)

你的问题不明确。但根据我的理解,您希望清除文本视图的文本,然后在按钮单击侦听器中将textview的文本设置为空。 例如:

public void onClick(View v){  
          textview.setText("");  
    }

答案 1 :(得分:0)

您可以使用onLongClickListener检查是否长时间按下删除按钮

imgClear.setOnLongClickListener(new OnLongClickListener()
{

    @Override
    public boolean onLongClick(View v)
    {
        txtFirstNumber.setText("");
        return true;
    }
});

这会将txtFirstNumber设为空白,但不会调用onClickListener