editview 只读
时间: 2023-11-23 13:04:39 浏览: 94
要将 EditView 设置为只读模式,可以调用 `setFocusable(false)` 和 `setCursorVisible(false)` 方法,然后设置文本颜色为灰色,这样用户就不能编辑 EditView 中的文本了。
示例代码如下:
```java
EditView editView = findViewById(R.id.edit_view);
editView.setFocusable(false);
editView.setCursorVisible(false);
editView.setTextColor(getResources().getColor(android.R.color.darker_gray));
```
注意,这种方式只是设置了 EditView 的外观,如果需要防止用户通过其它方式修改文本内容,还需要在代码中进行处理。
相关问题
Basequickadapter 适配 editview
BaseQuickAdapter 是一个 RecyclerView 的适配器,它并不直接支持 EditView 的绑定。
如果你要在 RecyclerView 的列表项中显示 EditView,可以在 BaseQuickAdapter 的 onCreateViewHolder 方法中创建 ViewHolder,并在 ViewHolder 中获取 EditView 的引用。例如:
```java
public class MyAdapter extends BaseQuickAdapter<MyData, MyAdapter.ViewHolder> {
...
@Override
protected void convert(ViewHolder holder, MyData item) {
// 在 convert 方法中对 ViewHolder 中的控件进行赋值
...
}
@Override
protected ViewHolder onCreateDefViewHolder(ViewGroup parent, int viewType) {
// 在 onCreateViewHolder 方法中创建 ViewHolder
View view = LayoutInflater.from(mContext).inflate(R.layout.item_my_data, parent, false);
return new ViewHolder(view);
}
public static class ViewHolder extends BaseViewHolder {
public EditText editView;
public ViewHolder(View itemView) {
super(itemView);
editView = (EditText) itemView.findViewById(R.id.edit_view);
}
}
}
```
在 ViewHolder 中获取 EditView 的引用后,就可以在 convert 方法中对其进行赋值了。注意,在 convert 方法中,应该避免直接修改 EditView 的内容,而应该通过修改对应的 MyData 对象来实现。
editview 设置字体
要在 MFC 的 CEditView 中设置字体,可以在 CEditView 的 OnInitDialog 函数中调用 GetEditCtrl 函数获取编辑框控件,并使用 SetFont 函数设置字体。以下是一个简单的示例代码:
```c++
BOOL CMyEditView::OnInitDialog()
{
CEditView::OnInitDialog();
// 获取编辑框控件
CEdit& editCtrl = GetEditCtrl();
// 创建 Consolas 字体
CFont font;
font.CreateFont(16, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET,
OUT_TT_ONLY_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
DEFAULT_PITCH | FF_DONTCARE, L"Consolas");
// 设置字体
editCtrl.SetFont(&font);
// 释放字体资源
font.DeleteObject();
return TRUE;
}
```
该代码会在 CMyEditView 对话框中的编辑框中使用 Consolas 字体。需要注意的是,该代码需要在派生自 CEditView 的类中使用才有效。
阅读全文