我希望在我的文本区域中有一个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”。第二个非常重要——为可绘制对象设置边界!完成。
MainActivity
)中,请将this
替换为MainActivity.this
。如果它位于片段中,请使用getActivity()
。这是因为您的代码现在在TextWatcher
内部,所以this
现在指向TextWatcher
。 - Goltsev Eugene