通常情况下,我会用XML格式化,或者使用
从代码中设置它.setEnabled(true);
但我无法在这种情况下使用它。简而言之,EditText
设置为不可见,CheckBox
点击它会淡入视图并且应该是可编辑的但是......它不是。 EditText
按预期淡入和淡出,但文字无法在框中输入...怎么办?
这是我的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.addcontact);
// initialise the edittexts
textcategory = (EditText) findViewById(R.id.textCategory);
textcategory.setVisibility(View.INVISIBLE);
fadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.fadein);
fadeOutAnimation = AnimationUtils.loadAnimation(this, R.anim.fadeout);
// lets be able to manipuate checkbox,
// make other things visible or not when checked
checkBox = (CheckBox) findViewById(R.id.checkBox);
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
// Now Set your animation
textcategory.startAnimation(fadeInAnimation);
fadeInAnimation.setFillAfter(true);
} else {
// Now Set your animation
textcategory.startAnimation(fadeOutAnimation);
}
}
});
}
我的XML:
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:hint="Select a Category"
android:textSize="18sp"
android:layout_marginBottom="10dp"
android:id="@+id/textCategory"
android:background="@drawable/back"
android:layout_below="@+id/checkBox"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
答案 0 :(得分:2)
如果您使用以下内容隐藏了EditText
:
textcategory.setVisibility(View.INVISIBLE);
然后,您应该调用以下内容代替setEnabled(true)
:
textcategory.setVisibility(View.VISIBLE);
再次展示。
只有在您明确禁用了setEnabled()
。时才应调用{p> View
答案 1 :(得分:1)
textView的setVisibility而不是fadeInAnimation.setFillAfter(true);
。
答案 2 :(得分:1)
在你的xml中添加这一行
android:alpha="0"
然后从您的活动中删除此行
textcategory.setVisibility(View.INVISIBLE);
对于动画,您可以直接使用
中的ViewPropertyAnimationcheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
// Now Set your animation
textcategory.animate().alpha(1).setDuration(1000).start();
} else {
// Now Set your animation
textcategory.startAnimation(fadeOutAnimation);
}
}
});
答案 3 :(得分:0)
yourEditText.setVisibility(View.VISIBLE);
yourEditText.setFocusable(true);
yourEditText.setClickable(true);