EditText 设置可编辑和不可编辑
原创
©著作权归作者所有:来自51CTO博客作者痛而不觉的原创作品,请联系作者获取转载授权,否则将追究法律责任
<style name='BaseInfoEditTextStyle"
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@drawable/ce_base_info_edt_com_gray_bg</item>
<item name="android:cursorVisible">false</item>
<item name="android:drawableRight">@drawable/ic_comm_arr_right</item>
<item name="android:editable">false</item>
<item name="android:focusable">false</item>
<item name="android:textcolor">@color/black</item>
<item name="android:textIsSelectable">false</item>
<item name="android:padding">15dp</item><!--示例:添加内边距-->
<item name="android:textSize">14sp</item>)<!--示例:设置字体大小--
</style>
<EditText
android:id="@+id/frag_ce_base_info_edt_sheng"
style="@style/BaseInfoEditTextStyle"
android:hint="Elegir departamento" />
mBinding.fragCeBaseInfoEdtSheng.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
loadCityData();
if (CommUtils.isTrimEmpty(cityStr)) {
showToast("No hay datos de la ciudad por favor rellene manualmente");
// 设置EditText为可编辑
mBinding.fragCeBaseInfoEdtSheng.setOnClickListener(null);
mBinding.fragCeBaseInfoEdtSheng.setEnabled(true);
mBinding.fragCeBaseInfoEdtSheng.setKeyListener(new EditText(getContext()).getKeyListener()); // 重新启用键盘输入
mBinding.fragCeBaseInfoEdtSheng.setFocusable(true); // 允许获得焦点
mBinding.fragCeBaseInfoEdtSheng.setFocusableInTouchMode(true); // 触摸模式下也允许获得焦点
mBinding.fragCeBaseInfoEdtSheng.setCursorVisible(true); // 显示光标
return;
}
if (mCityPicker == null) {
mCityPicker = new CityPicker((Activity) mBaseActivity, mBinding.fraCeBaseInfoLlRoot, cityStr)
.setOnCitySelectListener((province, city, county) -> {
// LogUtils.i( "选择区域: " + province + city + county);
mBinding.fragCeBaseInfoEdtSheng.setText(province);
mBinding.fragCeBaseInfoEdtShi.setText(city);
mBinding.fragCeBaseInfoEdtXian.setText(county);
});
}
mCityPicker.show();
}
});