EditText,如何隐藏DrawableRight

时间:2017-05-16 18:49:44

标签: android android-edittext android-drawable

我想在我的文本区域中使用DrawableRight,但是当我开始输入时,它应该会消失。所以我有EditText和函数的代码知道何时隐藏drawable,但我不知道如何调用该函数。你能救我吗?

//XML CODE
<EditText
        android:id="@+id/textt"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:layout_gravity="center_vertical"
        android:ems="10"
        android:paddingLeft="2dp"
        android:hint="Wpisz wiadomość"
        android:background="@android:color/transparent"
        android:maxLines="4" />

//JAVA CODE
public void camera(View v)
{
    EditText textArea=(EditText) findViewById(R.id.textt);
    if(textArea.getText()==null)
    {
        textArea.setCompoundDrawables(null, null, ContextCompat.getDrawable(this,R.drawable.ic_camera_alt_black_18dp), null);
    }
    else
        textArea.setCompoundDrawables(null,null,null,null);
}

解: 我用它处理了!首先,我将“this”改为“MainActivity.this”。第二个非常重要 - 为drawable设置界限!完成。

2 个答案:

答案 0 :(得分:1)

您应该对您的Edittext实施TextWatcher PLS。查看示例here

onTextChanged中,您可以查看 - CharSequence s长度是否为&gt; 0,然后你输入了一些文字,应该隐藏drawable CharSequence s是您在onTextChanged方法中收到的参数。

答案 1 :(得分:0)

要隐藏textArea的可拖动对象,您可以尝试以下方法:

Sub teest()
    Dim val As String
    Set dict = CreateObject("Scripting.Dictionary")

    LastRow = Cells(Rows.Count, "A").End(xlUp).Row

    For i = LastRow To 2 Step -1
        val = Cells(i, 1).Value & Cells(i, 2).Value
        If dict.Exists(val) Then
            Rows(i).Delete
        Else
            dict.Add val, 0
        End If
    Next
End Sub